传递一个类型列表,将类型限制为从特定父类派生的类,在c#

中 我在面向对象的数据库上有一个方法,它根据类型创建表。 我希望能够发送一个类型列表来创建,但我希望将它们限制为仅从特定基类派生的类(MyBase)。 有没有办法在方法签名中要求这个? 代替
CreateTables(IList<Type> tables)
我能做些什么吗?
CreateTables(IList<TypeWithBaseTypeMyBase> tables)
我知道我可以检查发送过的每种类型的基类,但如果可能的话,我希望在编译时验证这一点。 有什么建议?     
已邀请:
您可以执行以下操作:
CreateTables(IList<MyBase> tables)
{
    // GetType will still return the original (child) type.
    foreach(var item in tables)
    {
        var thisType = item.GetType();
        // continue processing
    }
}
    
你试过这个吗?
CreateTables(IList<MyBase> tables) 
我认为这就是你所要做的。     
为什么不将签名更改为:
CreateTables(IList<BaseType> tables)
    

要回复问题请先登录注册