• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# CodeConstructor类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.CodeDom.CodeConstructor的典型用法代码示例。如果您正苦于以下问题:C# CodeConstructor类的具体用法?C# CodeConstructor怎么用?C# CodeConstructor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CodeConstructor类属于System.CodeDom命名空间,在下文中一共展示了CodeConstructor类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CodeCompileUnit

// This example declares two types, one of which inherits from another,
    // and creates a set of different styles of constructors using CodeConstructor.

    // Creates a new CodeCompileUnit to contain the program graph.
    CodeCompileUnit CompileUnit = new CodeCompileUnit();
    // Declares a new namespace object and names it.
    CodeNamespace Samples = new CodeNamespace("Samples");
    // Adds the namespace object to the compile unit.
    CompileUnit.Namespaces.Add( Samples );
    // Adds a new namespace import for the System namespace.
    Samples.Imports.Add( new CodeNamespaceImport("System") );            
    
    // Declares a new type and names it.
    CodeTypeDeclaration BaseType = new CodeTypeDeclaration("BaseType");                                                
    // Adds the new type to the namespace object's type collection.
    Samples.Types.Add(BaseType);
    
    // Declares a default constructor that takes no arguments.
    CodeConstructor defaultConstructor = new CodeConstructor();
    defaultConstructor.Attributes = MemberAttributes.Public;
    // Adds the constructor to the Members collection of the BaseType.
    BaseType.Members.Add(defaultConstructor);

    // Declares a constructor that takes a string argument.
    CodeConstructor stringConstructor = new CodeConstructor();
    stringConstructor.Attributes = MemberAttributes.Public;
    // Declares a parameter of type string named "TestStringParameter".
    stringConstructor.Parameters.Add( new CodeParameterDeclarationExpression("System.String", "TestStringParameter") );
    // Adds the constructor to the Members collection of the BaseType.
    BaseType.Members.Add(stringConstructor);
                
    // Declares a type that derives from BaseType and names it.
    CodeTypeDeclaration DerivedType = new CodeTypeDeclaration("DerivedType");
    // The DerivedType class inherits from the BaseType class.
    DerivedType.BaseTypes.Add( new CodeTypeReference("BaseType") );
    // Adds the new type to the namespace object's type collection.
    Samples.Types.Add(DerivedType);        
            
    // Declare a constructor that takes a string argument and calls the base class constructor with it.
    CodeConstructor baseStringConstructor = new CodeConstructor();
    baseStringConstructor.Attributes = MemberAttributes.Public;
    // Declares a parameter of type string named "TestStringParameter".    
    baseStringConstructor.Parameters.Add( new CodeParameterDeclarationExpression("System.String", "TestStringParameter") );
    // Calls a base class constructor with the TestStringParameter parameter.
    baseStringConstructor.BaseConstructorArgs.Add( new CodeVariableReferenceExpression("TestStringParameter") );
    // Adds the constructor to the Members collection of the DerivedType.
    DerivedType.Members.Add(baseStringConstructor);
    
    // Declares a constructor overload that calls another constructor for the type with a predefined argument.
    CodeConstructor overloadConstructor = new CodeConstructor();
    overloadConstructor.Attributes = MemberAttributes.Public;
    // Sets the argument to pass to a base constructor method.
    overloadConstructor.ChainedConstructorArgs.Add( new CodePrimitiveExpression("Test") );
    // Adds the constructor to the Members collection of the DerivedType.
    DerivedType.Members.Add(overloadConstructor);        
    
    // Declares a constructor overload that calls the default constructor for the type.
    CodeConstructor overloadConstructor2 = new CodeConstructor();
    overloadConstructor2.Attributes = MemberAttributes.Public;
    overloadConstructor2.Parameters.Add( new CodeParameterDeclarationExpression("System.Int32", "TestIntParameter") );
    // Sets the argument to pass to a base constructor method.
    overloadConstructor2.ChainedConstructorArgs.Add( new CodeSnippetExpression("") );
    // Adds the constructor to the Members collection of the DerivedType.
    DerivedType.Members.Add(overloadConstructor2);            

    // A C# code generator produces the following source code for the preceeding example code:

    // public class BaseType {
    //     
    //     public BaseType() {
    //     }
    //        
    //     public BaseType(string TestStringParameter) {
    //     }
    // }
    //    
    // public class DerivedType : BaseType {
    //        
    //     public DerivedType(string TestStringParameter) : 
    //             base(TestStringParameter) {
    //     }
    //        
    //     public DerivedType() : 
    //             this("Test") {
    //     }
    //
    //     public DerivedType(int TestIntParameter) : 
    //                this() {
    //     }
    // }
开发者ID:.NET开发者,项目名称:System.CodeDom,代码行数:90,代码来源:CodeConstructor



注:本文中的System.CodeDom.CodeConstructor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CodeDefaultValueExpression类代码示例发布时间:2022-05-24
下一篇:
C# CodeConditionStatement类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap