Here is the code,
Code:
namespace ConsoleApplication1
{
    class A<T> where T:IDisposable
    {
    };

    class Program
    {       
        static void Main(string[] args)
        {
            A<int> a = new A<int>();
        
        }        
    }
}
There is a compiler error "The type 'int' cannot be used as type parameter 'T' in the generic type or method 'ConsoleApplication1.A<T>'. There is no boxing conversion from 'int' to 'System.IDisposable'.". I thought the interface could be either value or reference type. Why'd I need boxing here? Thanks.