値の型は値渡しです。クラス内で参照を保持して別のメソッドで変更し、変更が外部に反映されていることを確認するには、プロパティを公開するか、または参照渡しするコンテナクラスを導入します。あなたが呼び出す
public class BoolContainer
{
public bool SomeValue { get; set; }
}
public class Foo
{
private BoolContainer _boolContainer;
public Foo(BoolContainer boolContainer)
{
_boolContainer = boolContainer;
}
public void Foo2()
{
_boolContainer.SomeValue = true;
}
}
:値を保持するために
bool flag = false;
var obj = new Foo(flag);
// ...
flag = obj.SomeValue;
をまたはコンテナを作成する:あなたはこのようにそれを呼び出す
public class Foo
{
public bool SomeValue { get; }
public Foo(bool someValue)
{
SomeValue = someValue;
}
public void Foo2()
{
SomeValue = true;
}
}
:
だからどちらかのプロパティを公開しますこのように:
var boolContainer = new BoolContainer();
var obj = new Foo(boolContainer);
// ...
bool flag = boolContainer.SomeValue;
これで、呼び出し元はboolContainer.SomeValue
にアクセスして値を検査(変更)できます。
あなたが何を求めているのか分かりません。 'SomeClickMethod'はプライベートであり、呼び出されていません。 –
上記のコードは単純に意味をなさないので、より明確にするために言い換えてください。 –
どのように?任意の例があります – John