Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我的示例代码:
使用GenericClasss示例代码:
其中,
抱歉,这很简单,我没有注意到。非常感谢你。
并在构造函数中调用
编译器必须知道
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我的示例代码:
public class GenericClass<T> : IDisposable where T: System.Data.Linq.DataContext
{
public T context{ get; private set; }
public GenericClass()
{
this.context= default(T); // default(T) return null
// code
}
public void Dispose()
{
context.Dispose();
}
}
使用GenericClasss示例代码:
using (GenericClasss <DataAccessDataContext> dataAccess = new GenericClasss <DataAccessDataContext>())
{
//code
}
其中,
DataAccessDataContext
是.dbml(继承自System.Data.Linq.DataContext),并且具有默认构造函数抱歉,这很简单,我没有注意到。非常感谢你。
最佳答案
如果您无法使用通用类型创建新对象,则应使用new()
关键字:
public class GenericClass<T> : IDisposable where T: System.Data.Linq.DataContext, new()
并在构造函数中调用
new T()
:public GenericClass()
{
this.context = new T();
}
编译器必须知道
T
具有默认构造函数。关于c# - default(T)返回null,其中T继承自DataContext。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27041168/
10-13 04:56