このようなクラスが必要です (疑似コード):
public MyClass
{
private bool isValid;
[CheckValid]
public int DoSomething()
{
return 1;
}
}
ここで、[CheckValid]
属性でプロパティをチェックisValid
し、それが true の場合はDoSomething()
実行を許可するか、false の場合はDoSomething()
returnにするdefault(int)
(または少なくとも内部のコードにDoSomething()
アクセスできないようにする)必要があります。