Пример #1
0
        public IPropertyBuilder DefineProperty(
            string name, PropertyAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] parameterTypes)
        {
            ArgumentUtility.CheckNotNullOrEmpty("name", name);
            ArgumentUtility.CheckNotNull("returnType", returnType);
            ArgumentUtility.CheckNotNull("parameterTypes", parameterTypes);

            var emittableReturnType    = EmittableOperandProvider.GetEmittableType(returnType);
            var emittableParmeterTypes = parameterTypes.Select(EmittableOperandProvider.GetEmittableType).ToArray();
            var propertyBuilder        = _typeBuilder.DefineProperty(name, attributes, callingConvention, emittableReturnType, emittableParmeterTypes);

            return(new PropertyBuilderDecorator(propertyBuilder, EmittableOperandProvider));
        }