簡単なテストから、構造体をメソッドに渡すと値で渡されますが、最初にインターフェイスに割り当てると、参照で渡されることがわかります。
interface IFoo { int Val { get; set; } }
struct Foo : IFoo { public int Val { get; set; } }
void Bar(IFoo foo) { foo.Val = 1; }
Foo foo = new Foo();
IFoo ifoo = new Foo();
Bar(foo);
Bar(ifoo);
Console.WriteLine(foo.Val); // 0, passed by value
Console.WriteLine(ifoo.Val); // 1, passed by ref
だから私の質問は、このような構造体を渡すためのボクシング操作はまだありますか?