How do I create a class that inherits from another and passes a type parameter in CodeDom?

前端 未结 2 1848
感情败类
感情败类 2021-01-20 03:42

Here\'s what I want the resulting class declaration to look like:

public sealed partial class Refund : DataObjectBase
 {
}

}<

相关标签:
2条回答
  • 2021-01-20 04:23

    If you use Expressions to CodeDOM it could be

    var cls = Define.Class("Refund", 
       TypeAttributes.Public | TypeAttributes.Sealed, true)
       .Inherits(CodeDom.TypeRef("DataObjectBase","Refund"))
    
    0 讨论(0)
  • 2021-01-20 04:26

    I think that the following string for the BaseType should do the trick (untested):

    "DataObjectBase`1[[Refund]]"
    

    It may be possible that you need to provide a fully-qualified name for Refund, at least including the assembly name:

    "DataObjectBase`1[[Refund, RefundAssembly]]"
    

    And you should then remove the line targetClass.TypeParameters.Add(...).

    0 讨论(0)
提交回复
热议问题