次のメッセージがあります。
警告:フィールドが割り当てられることはなく、常にデフォルト値がnullになります。
私のコードは次のようになります(単純化されているため、役に立たない):
public class MyEntity
{
// ...
public string MyProp { get; set; }
}
public class MyClass
{
string dbMyProp;
public string MyProp { get { return dbMyProp.Replace("a", "b"); } }
public static readonly Expression<Func<MyEntity, MyClass>> FromMyEntity = e => new MyClass
{
dbMyProp = e.MyProp // ...
};
}
そのメッセージは真実ではないと思います。
それはC#コンパイラのバグですか、それとも何かを見逃しましたか?
UPDATEフィールドはdbMyProp
です。簡略化されていますが、それでもこの警告が表示されます。
UPDATE2次のコードはそのような警告を生成しません:
public class MyClass2
{
string dbMyProp;
public string MyProp { get { return dbMyProp.Replace("a", "b"); } }
public static MyClass2 FromMyEntity(MyEntity e)
{
return new MyClass2
{
dbMyProp = e.MyProp // ...
};
}
}