我使用转换器程序将此vb转换为C#
Public Overloads Shared Function ExecuteReader(ByVal statement As String, ByVal commandType As CommandType, _
ByVal paramCollection As ArrayList, ByVal connectionDelegate As OpenDatabaseConnection, _
ByVal outputConnectionObject As IDbConnection, ByVal CommandTimeout As Int16) As InstantASP.Common.Data.IDataReader
Return PrivateExecuteReader(Configuration.AppSettings.DataProvider, _
statement, commandType, paramCollection, connectionDelegate, outputConnectionObject, CommandTimeout)
End Function
Run Code Online (Sandbox Code Playgroud)
我不熟悉VB.NET,我不知道为什么这个转换器将它转换为带有所有这些引用的C#.我甚至根本不使用ref,并且不认为这是转换它的最好/最干净的方法.但是我无法理解所有这些,包括转换,如果在转换后这有任何意义.
public static IDataReader ExecuteReader(string statement, CommandType commandType, ArrayList paramCollection, OpenDatabaseConnection connectionDelegate, IDbConnection outputConnectionObject, Int16 commandTimeout)
{
return PrivateExecuteReader(ref AppSettings.DataProvider(), ref statement,
ref commandType, ref paramCollection, ref connectionDelegate,
ref outputConnectionObject, ref commandTimeout);
}
Run Code Online (Sandbox Code Playgroud)
它将ref这些参数放在上面,因为PrivateExecuteReader()它们声明为ref(C#)或ByRef(VB.NET).没有选择.
在VB.NET中,您只需传入您的参数,并且必须查看方法的声明(或Intellisense提示),以了解它是通过引用还是通过值.但是在C#中,如果一个方法将参数声明为ref,那么你还必须标记你传递的参数,ref以便明确表明它是通过引用传递的.
看起来像[大多]正确转换给我.
| 归档时间: |
|
| 查看次数: |
2730 次 |
| 最近记录: |