jp2*_*ode 5 c# generics visual-studio-2010
标题可能措辞错误,所以请告诉我正确的用语.
我有一个名为DAL_Base的基类,它接受泛型类型T.该类型T来自我们的Business Objects层中的许多类,并且每个类都具有相应的数据访问层.
DAL_Base接受允许我指定存储过程名称和参数的参数,用于调用选择,插入和更新记录的方法.
我目前似乎坚持的是,我似乎无法找到一种方法来实例化我的DAL_Base的新实例,它需要初始化各种变量.
部分上市:
public class DAL_Base<T> where T : IDisposable, new() {
public DAL_Base<T>() { // <= ERROR HERE
// initialize items that will be used in all derived classes
}
}
Run Code Online (Sandbox Code Playgroud)
VS2010给出的错误是:
无效的标记'('在类,结构或接口成员声明中
我试过创建没有括号的构造函数,但这也没用.
当我搜索时,我似乎能够返回的是创建我的泛型类型的实例的方法T.这很容易找到怎么做!
MSDN的C#Generics简介似乎也没有涵盖这一点.
你不应该在构造函数上有尖括号(<和>).
public class DAL_Base<T> where T : IDisposable, new()
{
public DAL_Base()
{
}
}
Run Code Online (Sandbox Code Playgroud)
您不应该在构造函数中使用泛型类型参数:
public class DAL_Base<T> where T : IDisposable, new() {
public DAL_Base() { // <= this should work
// initialize items that will be used in all derived classes
}
}
Run Code Online (Sandbox Code Playgroud)
由于您已使用type参数修饰了类本身,因此构造函数中提供了类型:
public DAL_Base() {
var listOfObjects = new List<T>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |