protected void DefineLiteral( EnumBuilder enumBuilder, string name, int number, string defaultValue, DCField field) { FieldBuilder fieldBuilder = enumBuilder.DefineLiteral(name, (object)number); CustomAttributeBuilder customBuilder1 = new CustomAttributeBuilder(typeof(EnumMemberAttribute).GetConstructor(Type.EmptyTypes), new object[0]); fieldBuilder.SetCustomAttribute(customBuilder1); DCBuilderType dcBuilderType = this.dCTypeStore.GetDCBuilderType("EnumerationAttribute"); if (dcBuilderType != null) { CustomAttributeBuilder customBuilder2 = new CustomAttributeBuilder(dcBuilderType.Type.GetConstructor(new Type[1] { typeof(string) }), new object[1] { (object)defaultValue }); fieldBuilder.SetCustomAttribute(customBuilder2); } if (field == null) { return; } this.AddMetadataAttribute(fieldBuilder, field); }
protected PropertyBuilder DefineProperty( TypeBuilder typeBuilder, string name, Type type, DCField field) { return(this.DefineProperty(typeBuilder, name, type)); }
private void AddMetadataAttribute(FieldBuilder fieldBuilder, DCField field) { DCBuilderType dcBuilderType = this.dCTypeStore.GetDCBuilderType("MetadataAttribute"); if (dcBuilderType == null || field == null) { return; } CustomAttributeBuilder customBuilder = new CustomAttributeBuilder(dcBuilderType.Type.GetConstructor(new Type[11] { typeof(string), typeof(string), typeof(bool), typeof(bool), typeof(bool), typeof(string), typeof(int), typeof(bool), typeof(bool), typeof(bool), typeof(string) }), new object[11] { (object)field.Description, (object)field.FieldTypeName, (object)field.IsUserDefinedField, (object)field.IsRequired, (object)field.IsReadOnly, field.IsEnum ? (object)field.EnumFieldTypeName : (object)field.TypeName, (object)field.Label, (object)field.CreateOnInitialize, (object)field.IsList, (object)field.HasSelVal, string.IsNullOrEmpty(field.DefaultValue) ? (object)(string)null : (object)field.DefaultValue }); fieldBuilder.SetCustomAttribute(customBuilder); }
protected FieldBuilder DefineField( TypeBuilder typeBuilder, string name, Type type, DCField field, bool isPrivate) { FieldBuilder fieldBuilder = typeBuilder.DefineField((isPrivate ? "_" : "") + name, type, !isPrivate || this._IsSilverlight ? FieldAttributes.Public : FieldAttributes.Family); if (this._IsSilverlight) { CustomAttributeBuilder customBuilder = new CustomAttributeBuilder(typeof(EditorBrowsableAttribute).GetConstructor(new Type[1] { typeof(EditorBrowsableState) }), new object[1] { (object)EditorBrowsableState.Never }); fieldBuilder.SetCustomAttribute(customBuilder); } this.AddMetadataAttribute(fieldBuilder, field); this.AddDataMemberAttribute(typeBuilder.Name, fieldBuilder, name); return(fieldBuilder); }