【发布时间】:2012-09-06 00:12:27
【问题描述】:
我有一个看起来像这样的私有类:
private class PocoUserWithResourceId
{
public USER User;
public string ResourceId;
}
我用这个类做事(在同一个封装的公共类中),比如:
var uQuery = from u in db.USERS.All()
select new PocoUserWithResourceId {User = u, ResourceId = arv.Resource_Id};
我收到了警告:
字段“PocoUserWithResourceId.ResourceId”从未分配给,并且 将始终具有其默认值 null
我错过了什么?我在我的 LINQ to SQL 代码中分配值。
【问题讨论】:
-
在你的情况下,忽略警告是安全的。
-
是否只是因为我在声明期间分配了属性值,编译器没有看到我正在使用它们的事实?
-
编译器用于生成警告的逻辑与最近添加到 C# 语言的语法并不完全一致。
-
@Dave,OP 利用什么(新)语法会导致这个问题?
-
您可以通过为您的类创建一个接受用户和资源 ID 并仅设置公共属性的构造函数来消除警告。
标签: c# linq-to-sql null compiler-warnings default-value