public void SetCustomAttribute(CustomAttributeBuilder customBuilder) { switch (customBuilder.KnownCA) { case KnownCA.DllImportAttribute: SetDllImportPseudoCustomAttribute(customBuilder.DecodeBlob(this.Module.Assembly)); attributes |= MethodAttributes.PinvokeImpl; break; case KnownCA.MethodImplAttribute: SetMethodImplAttribute(customBuilder.DecodeBlob(this.Module.Assembly)); break; case KnownCA.PreserveSigAttribute: implFlags |= MethodImplAttributes.PreserveSig; break; case KnownCA.SpecialNameAttribute: attributes |= MethodAttributes.SpecialName; break; case KnownCA.SuppressUnmanagedCodeSecurityAttribute: attributes |= MethodAttributes.HasSecurity; goto default; default: this.ModuleBuilder.SetCustomAttribute(pseudoToken, customBuilder); break; } }
public void SetCustomAttribute(CustomAttributeBuilder customBuilder) { switch (customBuilder.KnownCA) { case KnownCA.FieldOffsetAttribute: SetOffset((int)customBuilder.DecodeBlob(this.Module.Assembly).GetConstructorArgument(0)); break; case KnownCA.MarshalAsAttribute: FieldMarshal.SetMarshalAsAttribute(typeBuilder.ModuleBuilder, pseudoToken, customBuilder); attribs |= FieldAttributes.HasFieldMarshal; break; case KnownCA.NonSerializedAttribute: attribs |= FieldAttributes.NotSerialized; break; case KnownCA.SpecialNameAttribute: attribs |= FieldAttributes.SpecialName; break; default: typeBuilder.ModuleBuilder.SetCustomAttribute(pseudoToken, customBuilder); break; } }
public void SetCustomAttribute(CustomAttributeBuilder customBuilder) { switch (customBuilder.KnownCA) { case KnownCA.StructLayoutAttribute: SetStructLayoutPseudoCustomAttribute(customBuilder.DecodeBlob(this.Assembly)); break; case KnownCA.SerializableAttribute: attribs |= TypeAttributes.Serializable; break; case KnownCA.ComImportAttribute: attribs |= TypeAttributes.Import; break; case KnownCA.SpecialNameAttribute: attribs |= TypeAttributes.SpecialName; break; case KnownCA.SuppressUnmanagedCodeSecurityAttribute: attribs |= TypeAttributes.HasSecurity; goto default; default: this.ModuleBuilder.SetCustomAttribute(token, customBuilder); break; } }