基本クラスのメンバーを非表示にする方法はありますか?
class A
{
public int MyProperty { get; set; }
}
class B : A
{
private new int MyProperty { get; set; }
}
class C : B
{
public C()
{
//this should be an error
this.MyProperty = 5;
}
}
基本クラスのメンバーを非表示にする方法はありますか?
class A
{
public int MyProperty { get; set; }
}
class B : A
{
private new int MyProperty { get; set; }
}
class C : B
{
public C()
{
//this should be an error
this.MyProperty = 5;
}
}
C# 言語でメンバーを非表示にする手段はありません。あなたが得ることができる最も近いのは、EditorBrowsableAttribute
.
public class B : A
{
[EditorBrowsable(EditorBrowsableState.Never)]
new public int MyProperty {
get;
set;
}
}
これが Visual Studio 以外のエディターで機能するという保証はないので、その上に例外をスローした方がよいでしょう。
public class B : A
{
[EditorBrowsable(EditorBrowsableState.Never)]
public new int MyProperty {
get {
throw new System.NotSupportedException();
}
set {
throw new System.NotSupportedException();
}
}
}