Interfaces and Boxing - CSharp Custom Type

CSharp examples for Custom Type:interface

Introduction

Converting a struct to an interface causes boxing.

Calling an implicitly implemented member on a struct does not cause boxing:

interface  I { void Foo();          }
struct S : I { public void Foo() {} }

S s = new S();
s.Foo();         // No boxing.

I i = s;         // Box occurs when casting to interface.
i.Foo();

Related Tutorials