在我的项目中,我使用以下类:
我希望你能更进一步,完成以下内容:
Filter<T>.Checker<U>
,它还具有接口IChecker。它长这样:class Filter<T> {
public interface IChecker {
...
}
public class Checker<U> : IChecker {
...
}
List<IChecker> checkers;
...
}
Filter类用于过滤T类型的对象。该过滤器使用IChecker列表来检查类T中不同字段,其中U是T中此字段的类型。
在另一个类的某些其他方法中,我想创建一个检查器实例。在该方法中,T的类型为Transaction,在编译时已知。U的类型仅由Type实例知道。下面的代码展示了如何通常使用Type创建泛型类的实例。
Type type = typeof(MyObject<>).MakeGenericType(objectType);
object myObject = Activator.CreateInstance(type);
我希望你能更进一步,完成以下内容:
Type type = typeof(Filter<Transaction>.Checker<>).MakeGenericType(objectType);
object myObject = Activator.CreateInstance(type);
typeof(Filter<Transaction>.Checker<>)
这部分无法编译。编译器会提示:Unexpected use of an unbounded generic name
。
在C#中,是否有可能获取嵌套泛型类中的泛型类的类型?