У меня есть следующий интерфейс:
public interface IPlateSubCategory<T> {
T GetItem(int plateID);
}
И следующие классы, которые реализуют интерфейс:
public class Thermo : IPlateSubCategory<ThermoItem> {
public ThermoItem GetItem(int plateID) {
// code that implements GetItem
}
}
public class Thickness : IPlateSubCategory<ThicknessItem> {
public ThicknessItem GetItem(int plateID) {
// code that implements GetItem
}
}
public class Density : IPlateSubCategory<DensityItem> {
public DensityItemGetItem(int plateID) {
// code that implements GetItem
}
}
И теперь я пытаюсь создать фабрику, которая может возвращатьэкземпляр объекта, который реализует интерфейс IPlateSubCategory.Тем не менее, я действительно борюсь с этим и не могу понять правильный код.Вот что у меня есть, но я еще не совсем там.
public class PlateSubCategory_Factory {
public enum Categories {
Thermo = 1,
Thickness = 2,
Density = 3
}
public static IPlateSubCategory GetPlateSubCategory(Categories cat) {
IPlateSubCategory retObj = null;
if (cat == Categories.Thermo)
retObj = new Thermo();
// other instantiations of classes that implement interface would follow
return retObj;
}
}
Любая помощь будет принята с благодарностью.Спасибо!