我正在尝试检查给定对象是否实现了我制作的采用通用参数的接口。
public interface ICaseCopier<T> where T : ModelElement
{
T Case1 { get; set; }
T Case2 { get; set; }
void CopyCase(T caseToCopy, T copiedCase);
}
我的一个对象实现了这样的接口:
public class ProcessLoad : ElectricalLoad, ICaseCopier<ProcessCase>
其中 ProcessCase 是 ModelElement 的子级。我有许多对象在泛型中使用具有不同参数的接口,因此无法一一检查它们。
我尝试的是这样的:
ICaseCopier<ModelElement> copier = this as ICaseCopier<ProcessCase>;
但我收到以下错误:
Cannot convert source type 'ICaseCopier<ProcessCase>' to target type 'ICaseCopier<ModelElement>'
ProcessCase 可转换为 ModelElement。