我的示例代码:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
使用GenericClasss示例代码:
using (GenericClasss <DataAccessDataContext> dataAccess = new GenericClasss <DataAccessDataContext>())
{
//code
}
Run Code Online (Sandbox Code Playgroud)
其中DataAccessDataContext是.dbml(继承System.Data.Linq.DataContext)并具有默认构造函数
对不起,如果它很简单,我没有注意到.非常感谢你.
如果您不能从泛型类型创建新对象,则应使用以下new()关键字:
public class GenericClass<T> : IDisposable where T: System.Data.Linq.DataContext, new()
Run Code Online (Sandbox Code Playgroud)
并new T()在构造函数内部调用:
public GenericClass()
{
this.context = new T();
}
Run Code Online (Sandbox Code Playgroud)
编译器必须知道T有一个默认的构造函数.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |