Дополнительные методы, не позволенные во вложенных статических классах?

Теперь моя проблема решена, большое спасибо, я изменил свой код, чтобы использовать параметры, и тогда он работает. Теперь мой код:

    Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 

    TestConnection()
    Dim cmd As OleDbCommand
    Dim sql As String
    sql = "UPDATE tblUsers SET Username=?, [Password]=?, Usertype=? where UserID=?"
    cmd = New OleDbCommand(sql, Conn)
    cmd.Parameters.AddWithValue("@p1", txtUserName.Text)
    cmd.Parameters.AddWithValue("@p2", txtUserPassword.Text)
    cmd.Parameters.AddWithValue("@p3", cbousertype.Text)
    cmd.Parameters.AddWithValue("@p4", txtUserID.Text)
    cmd.ExecuteNonQuery()
    MsgBox("Data Has Been Updated", MsgBoxStyle.Information, "Updated")
    ShowUser()
End Sub
9
задан Wai Ha Lee 12 November 2015 в 14:48
поделиться

3 ответа

Действительно ли использование метода расширения сделает ваш код намного чище , чем использование стандартного вспомогательного метода в вашем классе?

// extension method
foreach (var row in grid.Rows.CheckedRows())
foreach (var row in grid.SelectedRows.CheckedRows())

// standard helper method
foreach (var row in CheckedRows(grid.Rows))
foreach (var row in CheckedRows(grid.SelectedRows))
1
ответ дан 4 December 2019 в 23:07
поделиться

Если у вас есть исходный код типа, почему вы используете методы расширения? Почему бы вам просто не сделать эти методы расширения членами самого типа?

Методы расширения лучше всего использовать для расширения типов, которые вы не создавали. Хотя они являются полезными инструментами, они представляют собой слой косвенности, который должен быть последним средством, а не первым. Хотя вы можете использовать их для расширения ваших собственных типов, более разумно зарезервировать их для типов, которые вы не создавали.

4
ответ дан 4 December 2019 в 23:07
поделиться

Если вы расширяете тип, то методы расширения должны быть такими же доступными, как и сам тип.

Лучшие практики также предполагают размещение всех методов расширения в одном месте, предпочтительно в одном статическом классе или в одном пространстве имен.

2
ответ дан 4 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: