Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我会得到;可能';空';分配给标有'的实体;非空';属性";这里是Resharper,我怎样才能安抚它?_C#_Null_Resharper_Notnull - Fatal编程技术网

C# 为什么我会得到;可能';空';分配给标有'的实体;非空';属性";这里是Resharper,我怎样才能安抚它?

C# 为什么我会得到;可能';空';分配给标有'的实体;非空';属性";这里是Resharper,我怎样才能安抚它?,c#,null,resharper,notnull,C#,Null,Resharper,Notnull,在这样的代码中: DataSet dsDuckbill = new DataSet(); DataTable dtDuckbill = dsDuckbill.Tables.Add("DSD"); dtDuckbill.Columns.Add("line_id", Type.GetType("System.Int32")); dtDuckbill.Columns["line_id"].AutoIncrement = true; dtDuckbill.Columns["line_id"].AutoI

在这样的代码中:

DataSet dsDuckbill = new DataSet();
DataTable dtDuckbill = dsDuckbill.Tables.Add("DSD");
dtDuckbill.Columns.Add("line_id", Type.GetType("System.Int32"));
dtDuckbill.Columns["line_id"].AutoIncrement = true;
dtDuckbill.Columns["line_id"].AutoIncrementSeed = 1;
dtDuckbill.Columns["line_id"].AutoIncrementStep = 1;

dtDuckbill.Columns.Add("vendor_id", Type.GetType("System.String"));
. . .
我得到了几个“可能的'null'赋值给标有'NotNull'属性的实体”

我不确定这是否是正确的方法,但我通过这种方法通过了第一次:

DataSet dsDuckbill = new DataSet();
if (dsDuckbill.Tables.Contains("DSD"))
{
    DataTable dtDuckbill = dsDuckbill.Tables.Add("DSD");
…但对于每一行带有“Type”(Resharper突出显示“Type”为罪魁祸首)的内容,我仍然会在第一行得到err msg


这是怎么回事(System.Int32和System.String可能为空?),我需要做什么来安抚R#beast?

为什么不做
typeof(int)
typeof(String)
?有些类型是Int16,有些是Int32;还有双打和弦乐。我担心把所有整数都改成简单整数,以防16和32的处理方式不同。注意,我不想太多地清理代码,以致于不知何故破坏了它。我认为它会标记这些代码,因为它无法确定传递给GetType方法的字符串是否有效。如果将参数输入错误为
System.Int33
(打字错误),该怎么办。结果将是空的,我相信这正是您被警告的地方。@ClayShannon然后使用
typeof(Int16)
typeof(Int32)
。我认为没有理由在这里使用硬编码字符串而不是
typeof
运算符<如果找不到类型,并且显然R#只是查看返回类型,而没有执行表达式,则code>GetType将返回null。