这对于很多人来说是泛型101,但下面是示例代码,所以我可以更好地理解。定义实现泛型的接口依赖关系
public interface IRecordedItemsProcessor<T>
{
ObservableCollection<RecordedItem> Load(string name);
void Save();
RecordedItem Parse(T itemToParse);
}
public class FileLoadingProcessor : IRecordedItemsProcessor<string>
{
public ObservableCollection<RecordedItem> Load(string name)
{
}
public void Save()
{
}
public RecordedItem Parse(string itemToParse)
{
}
}
public class MyClass
{
public MyClass(IRecordedItemsProcessor<T> processor)
{
}
}
的问题是,需要MyClass
依赖于IRecordedItemsProcessor<T>
但将无法编译,因为它不知道什么T
是。这怎么解决?制作MyClass的实现似乎很奇怪,因为它需要做的就是调用加载/保存
感谢
我不想这样做。为什么MyClass上有一个?我希望MyClass与IRecordedItemsProcessor一起工作 –
Jon
您的评论表明,如果您的界面的某些用户不关心其某些方法,那么您的界面应该分成两个界面。 – AakashM
但是,你会想要使用依赖注入来处理IRecordedItemsProcessor,那么如何使用方法工作。我只见过DI与构造函数/属性一起工作。 – Jon