、C#で内部クラスとその内部クラスの型のプロパティ名をかぶってしまうのですが、この問題を解決する一般的な手法はあるのでしょうか?
プロパティ名を変えたり、内部クラスではないようにするといった手法しか解決方法はないのでしょうか?
よろしくお願いいたします。
cs
1public class Hoge 2{ 3 4 public HogeHoge HogeHoge { get; } 5 6 public class HogeHoge 7 { 8 } 9}
その解決方法で良さそうですが、それ等の方法では何か問題があるのでしょうか。
あるならそれを質問に記述すると別の回答がもらえるかもしれません。
C#では内部クラスを使うこと自体が悪手とされています。
悪手を前提とした好手などありません。
>その解決方法で良さそうですが、それ等の方法では何か問題があるのでしょうか。
頂いた回答に対しての返信でも述べましたが、特に問題はなく、一般的にはどうしているのかと疑問に思っただけです。
もう少し私の質問内容を吟味すべきだったかもしれません。
>C#では内部クラスを使うこと自体が悪手とされています。
publicな内部クラスが悪手だということはわからなくもないですが、標準ライブラリでも普通に使われていますし、内部クラスが悪手ということは個人的には聞いたことはありません。
msdnなどで述べられている箇所がありましたら教えていただきたいです。
出典は公式な文書ではなくblogか何かなにかだったと思いますが、
言語仕様的にもアクセス修飾子的にも適切に制限する方法がないって理由でした。
要は隠蔽はできないし公開するなら内部クラスにする必要はないよねってことです。
回答3件
あなたの回答
tips
プレビュー