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


C# TypeBuilder.SetCustomAttribute方法代码示例

本文整理汇总了C#中TypeBuilder.SetCustomAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# TypeBuilder.SetCustomAttribute方法的具体用法?C# TypeBuilder.SetCustomAttribute怎么用?C# TypeBuilder.SetCustomAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TypeBuilder的用法示例。


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

示例1: Apply

				internal override void Apply(ClassLoaderWrapper loader, TypeBuilder tb, object annotation)
				{
					if (type == JVM.Import(typeof(System.Runtime.InteropServices.StructLayoutAttribute)) && tb.BaseType != Types.Object)
					{
						// we have to handle this explicitly, because if we apply an illegal StructLayoutAttribute,
						// TypeBuilder.CreateType() will later on throw an exception.
#if STATIC_COMPILER
						loader.IssueMessage(Message.IgnoredCustomAttribute, type.FullName, "Type '" + tb.FullName + "' does not extend cli.System.Object");
#else
						Tracer.Error(Tracer.Runtime, "StructLayoutAttribute cannot be applied to {0}, because it does not directly extend cli.System.Object", tb.FullName);
#endif
						return;
					}
					if (type.IsSubclassOf(Types.SecurityAttribute))
					{
#if STATIC_COMPILER
						tb.__AddDeclarativeSecurity(MakeCustomAttributeBuilder(loader, annotation));
#elif STUB_GENERATOR
#else
						SecurityAction action;
						PermissionSet permSet;
						if (MakeDeclSecurity(type, annotation, out action, out permSet))
						{
							tb.AddDeclarativeSecurity(action, permSet);
						}
#endif
					}
					else
					{
						tb.SetCustomAttribute(MakeCustomAttributeBuilder(loader, annotation));
					}
				}
开发者ID:Semogj,项目名称:ikvm-fork,代码行数:32,代码来源:DotNetTypeWrapper.cs

示例2: AddAutomagicSerializationToWorkaroundBaseClass

		internal static ConstructorInfo AddAutomagicSerializationToWorkaroundBaseClass(TypeBuilder typeBuilderWorkaroundBaseClass, ConstructorInfo baseCtor)
		{
			if (typeBuilderWorkaroundBaseClass.BaseType.IsSerializable)
			{
				typeBuilderWorkaroundBaseClass.SetCustomAttribute(serializableAttribute);
				if (baseCtor != null && (baseCtor.IsFamily || baseCtor.IsFamilyOrAssembly))
				{
					return AddConstructor(typeBuilderWorkaroundBaseClass, null, baseCtor, false);
				}
			}
			return null;
		}
开发者ID:ikvm,项目名称:IKVM.NET-cvs-clone,代码行数:12,代码来源:Serialization.cs

示例3: MarkSerializable

 private static void MarkSerializable(TypeBuilder tb)
 {
     tb.SetCustomAttribute(serializableAttribute);
 }
开发者ID:LogosBible,项目名称:ikvm-fork,代码行数:4,代码来源:Serialization.cs


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