Implementing Nullable Types in Generic Interface
c#, exception, interface, reference, reference-type
Solution
I wouldn't really do this but it's probably the only way to get it to work.
public class MyWrapperClass<T> where T : struct
{
public Nullable<T> Item { get; set; }
}
public class MyClass<T> where T : class
{
}
Problem
So in a previous question I asked about implementing a generic interface with a public class and bingo, it works. However, one of the types I'm looking to pass in is one of the built in nullable types such as: int, Guid, String, etc. Here's my Interface: ``` public interface IOurTemplate<T, U> where T : class where U : class { IEnumerable<T> List(); T Get(U id); } ``` So when I implement this like so: ``` public class TestInterface : IOurTemplate<MyCustomClass, Int32> { public IEnumerable<MyCustomClass> List() { throw new NotImplementedException(); } public MyCustomClass Get(Int32 testID) { throw new NotImplementedException(); } } ``` I receive the error message: The type 'int' must be a reference type in order to use it as parameter 'U' in the generic type or method 'TestApp.IOurTemplate' I've tried to infer the type Int32?, but same error. Any ideas?