我尝试使用通用接口的第一步,并使用此接口:
public interface ISetting<T>
{
T Value { get; }
}
这样的实现:
public class MySetting : ISetting<DateTime>
{
DateTime Value { get; }
}
现在我的目标是,我可以在我的服务层编写这样的代码:
public class MyService
{
public DateTime GetMySetting()
{
return MyDataLayer.GetSettings<MySetting>();
}
}
所以在我的DataLayer中,我正在努力实现我的泛型和其中:
public T ReadOrAddOne<T>() where T : ISetting<????>
{
// My Code goes here
}
那么如何告诉我的ISetting我在等待哪种类型?
答案 0 :(得分:3)
您只需要定义另一个字母来表示该类型。
public T ReadOrAddOne<T,R>() where T : ISetting<R>
{
return default(T);
}