デメータの法則は、オブジェクトAからオブジェクトBからメソッドMを呼び出すことができないと言います。 しかし、これもプロパティに適用されますか?例?デメテルの法律もプロパティに適用されていますか?
public class B{
public bool IsValid();
}
public class A{
public B B{get;set;}
}
私はそんなことができますか?
var isValid = new A().B.IsValid()
または私はこれを行う必要があります。
public class B{
public bool IsValid();
}
public class A{
private B B{get;set;}
public bool IsValid(){
return B.IsValid();
}
}
var result = new A().IsValid();
を私はAからBのメソッドにアクセスした場合(法律による)問題ありませんか?
2dの例では、内部に 'A'によって作成された' B'のインスタンスを探します。第1の例では、 'B'を設定することができるpublicプロパティです。あなたは 'B.IsValid'に対して' A.B.IsValid'を呼び出すことが必要になっているので、あなたの正確なシナリオは何ですか? 2番目の例では、 'get'を公開することができます。 – shahkalpesh