プロパティに構造体を…
struct R
{
public int foo;
}
class Class1
{
public R hoge { set; }
}
class Program
{
static void Main(string[] args)
{
Class1 class1 = new Class1();
//エラー
class1.hoge.foo = 5;
}
}
激しくこういうことがしたい。なんで構造体をプロパティにできない?いや、もちろんできるんだけど、コードのように代入することができない。同等のことをするんだったら
static void Main(string[] args)
{
Class1 class1 = new Class1();
R r = class1.hoge;
r.foo = 5;
class1.hoge = r;
}
こうとでもしないといけない。まどろっこしいなぁ…。
追記:
ピンバックを送ってくださった方がいます。そちらになぜできないかが書いてあります。結構納得しました!