Boo.Lang.Compiler.Steps.EmitAssembly.DefineProperty C# (CSharp) Метод

DefineProperty() приватный Метод

private DefineProperty ( TypeBuilder typeBuilder, Property property ) : void
typeBuilder System.Reflection.Emit.TypeBuilder
property Property
Результат void
        void DefineProperty(TypeBuilder typeBuilder, Property property)
        {
            var name = property.ExplicitInfo != null
                ? property.ExplicitInfo.InterfaceType.Name + "." + property.Name
                : property.Name;

            var builder = typeBuilder.DefineProperty(name,
                                                    PropertyAttributesFor(property),
                                                    GetSystemType(property.Type),
                                                    GetParameterTypes(property.Parameters));
            var getter = property.Getter;
            if (getter != null)
                builder.SetGetMethod(DefinePropertyAccessor(typeBuilder, property, getter));

            var setter = property.Setter;
            if (setter != null)
                builder.SetSetMethod(DefinePropertyAccessor(typeBuilder, property, setter));

            if (GetEntity(property).IsDuckTyped)
                builder.SetCustomAttribute(CreateDuckTypedCustomAttribute());

            SetBuilder(property, builder);
        }
EmitAssembly