我有一个看起来像这样的私人课程:
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代码中分配值。
答案 0 :(得分:4)
是不是因为我在分配期间分配了属性值 声明编译器没有看到我正在使用的事实 它们?
不,这只是因为您分配了field个值,而不是property个值......
您可以选择两种良好做法:
- 使用构造函数
- 使用访问者(属性)
答案 1 :(得分:0)
您可以使用#pragma
暂时禁用特定案例的警告// turn it off
#pragma warning disable 0649
private class Foo
{
public string FieldName
}
// turn it back on
#pragma warning restore 0649
要确定错误编号是什么,请检查原始输出或右键单击警告并选择“显示错误帮助”。即使页面本身与警告无关,您也会发现URL中隐藏的错误(CS0649)。