プロパティと型の名前付けに問題があります。例:
public class A
{
public class B { ... }
public B B; // << error
}
質問 1: なぜエラーになるのですか?
私はそれをこのように解決することができました
public class A
{
public B B;
}
public class B { ... } // move it outside
またはこのように
public class A
{
public class B { ... }
public B BB; // rename property
}
あるいは
public class A
{
public class BB { ... } // rename type
public BB B;
}
質問 2: どのようにしますか?
型宣言を外側に移動するのは危険です。型に同じ名前を意味的に必要とする複数のクラスが存在する可能性があるためです -> 競合 -> 一部のクラス型の奇妙な名前、またはクラスを名前空間内に配置する必要があります。
名前を変更する..トリッキー。たとえば、Shape
図を描画するいくつかのクラスに対して宣言する必要がある型の名前を変更します: FigureLine
、など。それらをFigurePoint
などと呼ぶことができます。または、タイプの名前を次のように変更できますShapeLine
ShapePoint
Shape
public class FigureLine
{
public enum LineShape {Straight, Bend, Whatever};
public LineShape Shape {get; private set;}
}
しかし、今それを使おうとすると、FigureLine.LineShape
二重線は良くないということになります。
プロパティの名前を変更しています...どのように?