簡體   English   中英

在.NET REFLECTION中使用FieldInfo類的問題

[英]Issue on Usage of FieldInfo class in .NET REFLECTION

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

Dim resources As   
System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(_Class))
    Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand
    Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand
    Me.SqlUpdateCommand1 = New System.Data.SqlClient.SqlCommand
    Me.SqlDeleteCommand1 = New System.Data.SqlClient.SqlCommand
    Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter
    Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection

.....
.....



Me.SqlInsertCommand1.CommandText = resources.GetString("SqlInsertCommand1.CommandText")
    Me.SqlInsertCommand1.Connection = Me.SqlConnection1
    Me.SqlInsertCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@MAIN_FACILITY_USED", System.Data.SqlDbType.NVarChar, 0, "MAIN FACILITY USED")

下一行的內容我無法到達有關sqlinsertcommand的參數的集合,但可以通過以下代碼到達sqlinsertcommand及其命令文本本身:

Dim flags As BindingFlags = BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.NonPublic
 For Each info As FieldInfo In AssemblyInstance.GetType().GetFields(flags)
  If info.FieldType.FullName = "System.Data.SqlClient.SqlCommand" Then
    cmd = CType(info.GetValue(AssemblyInstance), SqlCommand)
   End If
Next

如何通過fieldinfo或> NET Reflection中的其他相關類達到該sqlparameter集合? 看起來很粗魯,但任何幫助甚至建議對我來說都意義非凡。

所以“ cmd”是“ System.Data.SqlClient.SqlCommand”的實例嗎? -是的 那么它就有一個屬性“ Parameters”來保存您的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM