public class MyType
{
public int? MyId { get; set; }
}
MyType myType = new MyType();
myType.MyId.GetType()
Run Code Online (Sandbox Code Playgroud)
由于MyId未设置,最后一行返回一个异常(即,它为null)。在这种情况下,如何获取类型(int?或什至int)?注意,int?用作示例,变量可以具有任何类型,这只是一个简化的示例。
请注意,根据微软的说法,这应该可行:
int? a = 17;
Type typeOfA = a.GetType();
Console.WriteLine(typeOfA.FullName);
// Output:
// System.Int32
Run Code Online (Sandbox Code Playgroud)
它确实在分配值时起作用...
编辑。
查看一些答复和评论,我想在代码中添加这些内容,我将myType.MyId作为对象传递给需要弄清楚其类型的方法。基本上,它类似于:
public void RunQuery(string sql, List<(string parameterName, object parameterValue)> parameters)
Run Code Online (Sandbox Code Playgroud)
所以myType.MyId作为parameterValue传递到RunQuery