私が理解しているように、プロパティは参照を返すことができず、構造体は値型であるため、プロパティを介して構造体への参照を返す方法はありません。
public struct SomeStruct
{
public int SomeMember { get; set; }
}
class foo
{
private SomeStruct bar;
public SomeStruct Bar{ get { return bar; } set { bar = value; } }
}
//Somewhere else
foo f = new foo();
f.Bar.SomeMember = 42; //Error, this doesn't work
setMemberOfSomeStruct() に頼る必要がありますか、それとも別の方法がありますか?
編集: 具体的には、このような構造体に対して常に new を呼び出す必要がないようにしたいと考えています。コンストラクター SomeStruct(int) を使用すると、これが機能することがわかります。
f.Bar = new SomeStruct(42); //ugh