当前位置: 首页>>代码示例>>C#>>正文


C# ConstructorBuilder类代码示例

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


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

示例1: ApplyAttributes

		public override void  ApplyAttributes (MethodBuilder mb, ConstructorBuilder cb, int index, PredefinedAttributes pa)
		{
			// Nothing to do
		}
开发者ID:RainsSoft,项目名称:playscript-monodevelop,代码行数:4,代码来源:parameter.cs

示例2: Define

		//
		// Creates the ConstructorBuilder
		//
		public override bool Define ()
		{
			if (ConstructorBuilder != null)
				return true;

			if (!CheckAbstractAndExtern (block != null))
				return false;
			
			// Check if arguments were correct.
			if (!CheckBase ())
				return false;

			var ca = ModifiersExtensions.MethodAttr (ModFlags) | MethodAttributes.RTSpecialName | MethodAttributes.SpecialName;

			ConstructorBuilder = Parent.TypeBuilder.DefineConstructor (
				ca, CallingConventions,
				parameters.GetMetaInfo ());

			spec = new MethodSpec (MemberKind.Constructor, Parent.Definition, this, Compiler.BuiltinTypes.Void, parameters, ModFlags);
			
			Parent.MemberCache.AddMember (spec);
			
			if (block != null) {
				// It's here only to report an error
				if (block.IsIterator) {
					member_type = Compiler.BuiltinTypes.Void;
					Iterator.CreateIterator (this, Parent.PartialContainer, ModFlags);
				}

				if (Compiler.Settings.WriteMetadataOnly)
					block = null;
			}

			return true;
		}
开发者ID:OpenFlex,项目名称:playscript-mono,代码行数:38,代码来源:method.cs

示例3: Create

		internal static CodeEmitter Create(ConstructorBuilder cb)
		{
			return new CodeEmitter(cb.GetILGenerator());
		}
开发者ID:jira-sarec,项目名称:ICSE-2012-TraceLab,代码行数:4,代码来源:CodeEmitter.cs

示例4: Define

		//
		// Creates the ConstructorBuilder
		//
		public override bool Define ()
		{
			if (ConstructorBuilder != null)
				return true;

			if (!CheckAbstractAndExtern (block != null))
				return false;
			
			// Check if arguments were correct.
			if (!CheckBase ())
				return false;

			if (Parent.PrimaryConstructorParameters != null && !IsPrimaryConstructor && !IsStatic) {
				if (Parent.Kind == MemberKind.Struct && Initializer is ConstructorThisInitializer && Initializer.Arguments == null) {
					Report.Error (8043, Location, "`{0}': Structs with primary constructor cannot specify default constructor initializer",
						GetSignatureForError ());
				} else if (Initializer == null || Initializer is ConstructorBaseInitializer) {
					Report.Error (8037, Location, "`{0}': Instance constructor of type with primary constructor must specify `this' constructor initializer",
						GetSignatureForError ());
				}
			}

			var ca = ModifiersExtensions.MethodAttr (ModFlags) | MethodAttributes.RTSpecialName | MethodAttributes.SpecialName;

			ConstructorBuilder = Parent.TypeBuilder.DefineConstructor (
				ca, CallingConventions,
				parameters.GetMetaInfo ());

			spec = new MethodSpec (MemberKind.Constructor, Parent.Definition, this, Compiler.BuiltinTypes.Void, parameters, ModFlags);
			
			Parent.MemberCache.AddMember (spec);
			
			if (block != null) {
				// It's here only to report an error
				if (block.IsIterator) {
					member_type = Compiler.BuiltinTypes.Void;
					Iterator.CreateIterator (this, Parent.PartialContainer, ModFlags);
				}

				if (Compiler.Settings.WriteMetadataOnly)
					block = null;
			}

			return true;
		}
开发者ID:0xb1dd1e,项目名称:NRefactory,代码行数:48,代码来源:method.cs

示例5: Apply

					internal override void Apply(ClassLoaderWrapper loader, ConstructorBuilder cb, object annotation)
					{
						Annotation annot = type.Annotation;
						foreach (object ann in UnwrapArray(annotation))
						{
							annot.Apply(loader, cb, ann);
						}
					}
开发者ID:ikvm,项目名称:IKVM.NET-cvs-clone,代码行数:8,代码来源:DotNetTypeWrapper.cs

示例6: Define

		//
		// Creates the ConstructorBuilder
		//
		public override bool Define ()
		{
			if (ConstructorBuilder != null)
				return true;

			var ca = MethodAttributes.RTSpecialName | MethodAttributes.SpecialName;
			
			if ((ModFlags & Modifiers.STATIC) != 0) {
				ca |= MethodAttributes.Static | MethodAttributes.Private;
			} else {
				ca |= ModifiersExtensions.MethodAttr (ModFlags);
			}

			if (!CheckAbstractAndExtern (block != null))
				return false;
			
			// Check if arguments were correct.
			if (!CheckBase ())
				return false;

			ConstructorBuilder = Parent.TypeBuilder.DefineConstructor (
				ca, CallingConventions,
				parameters.GetMetaInfo ());

			spec = new MethodSpec (MemberKind.Constructor, Parent.Definition, this, TypeManager.void_type, ConstructorBuilder, parameters, ModFlags);
			
			Parent.MemberCache.AddMember (spec);
			
			// It's here only to report an error
			if (block != null && block.IsIterator) {
				member_type = TypeManager.void_type;
				Iterator.CreateIterator (this, Parent.PartialContainer, ModFlags, Compiler);
			}

			return true;
		}
开发者ID:kumpera,项目名称:mono,代码行数:39,代码来源:method.cs

示例7: SetUp

 public void SetUp()
 {
     this.mocks = new MockRepository();
     this.context = this.mocks.StrictMock<NStub.CSharp.BuildContext.IMemberBuildContext>();
     this.testObject = new ConstructorBuilder(this.context);
 }
开发者ID:Jedzia,项目名称:NStub,代码行数:6,代码来源:ConstructorBuilderTest.cs

示例8: ConstructWithParametersContextTest

 public void ConstructWithParametersContextTest()
 {
     this.testObject = new ConstructorBuilder(this.context);
     Assert.Throws<ArgumentNullException>(() => new ConstructorBuilder(null));
 }
开发者ID:Jedzia,项目名称:NStub,代码行数:5,代码来源:ConstructorBuilderTest.cs

示例9: TearDown

 public void TearDown()
 {
     this.testObject = null;
     this.context = null;
     this.mocks = null;
 }
开发者ID:Jedzia,项目名称:NStub,代码行数:6,代码来源:ConstructorBuilderTest.cs


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