泛型方法返回nullReferenceException

Pet*_*ter 0 c# generics methods exception nullreferenceexception

我有这个通用方法总是返回nullReferenceException.我已经把所有不必要的代码拿出来了,它仍然给我一个例外.

    public T RetrieveInformationFromApi<T>(int Id) where T : IMovie
    {
        T result = default(T);

        result.Title = "test";
     }
Run Code Online (Sandbox Code Playgroud)

可以使用三个不同的类来调用该方法,这三个类都具有属性Title,并且all都实现了接口IMovie,但该方法仍然给我一个例外.我究竟做错了什么?

Joh*_*bot 5

您应该在T参数上添加构造函数约束,以便创建新实例.

public T RetrieveInformationFromApi<T>(int Id) where T : IMovie, new()
{
    T result = new T();

    result.Title = "test";
}
Run Code Online (Sandbox Code Playgroud)