コード例 #1
0
ファイル: TypeGen.cs プロジェクト: jmptrader/Creek
        public AttributeGen <TypeGen> BeginAttribute(AttributeType type, params object[] args)
        {
            AttributeTargets target = AttributeTargets.Class;

            if (baseType == null)
            {
                target = AttributeTargets.Interface;
            }
            else if (baseType == typeof(ValueType))
            {
                target = AttributeTargets.Struct;
            }
            else
            {
                target = AttributeTargets.Class;
            }

            return(AttributeGen <TypeGen> .CreateAndAdd(this, ref customAttributes, target, type, args));
        }
コード例 #2
0
ファイル: PropertyGen.cs プロジェクト: jmptrader/Creek
 public AttributeGen <PropertyGen> BeginAttribute(AttributeType type, params object[] args)
 {
     return(AttributeGen <PropertyGen> .CreateAndAdd(this, ref customAttributes, AttributeTargets.Property, type, args));
 }
コード例 #3
0
ファイル: RoutineGen.cs プロジェクト: jmptrader/Creek
 public AttributeGen <T> BeginAttribute(AttributeType type, params object[] args)
 {
     return(AttributeGen <T> .CreateAndAdd(typedThis, ref customAttributes, AttributeTarget, type, args));
 }
コード例 #4
0
 public AttributeGen <AssemblyGen> BeginModuleAttribute(AttributeType type, params object[] args)
 {
     return(AttributeGen <AssemblyGen> .CreateAndAdd(this, ref moduleAttributes, AttributeTargets.Module, type, args));
 }
コード例 #5
0
 public new AttributeGen <ParameterGen <TOuterContext> > BeginAttribute(AttributeType type, params object[] args)
 {
     return(AttributeGen <ParameterGen <TOuterContext> > .CreateAndAdd(this, ref customAttributes, AttributeTargets.Delegate, type, args));
 }
コード例 #6
0
 public AttributeGen <ParameterGen> BeginAttribute(AttributeType type, params object[] args)
 {
     return(AttributeGen <ParameterGen> .CreateAndAdd(this, ref customAttributes, position == 0?AttributeTargets.ReturnValue : AttributeTargets.Parameter, type, args));
 }