• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# AttributeTargets类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中AttributeTargets的典型用法代码示例。如果您正苦于以下问题:C# AttributeTargets类的具体用法?C# AttributeTargets怎么用?C# AttributeTargets使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



AttributeTargets类属于命名空间,在下文中一共展示了AttributeTargets类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GetAttributeUsage

		private void GetAttributeUsage()
		{
			if (analyzedType.HasCustomAttributes) {
				foreach (CustomAttribute ca in analyzedType.CustomAttributes) {
					TypeReference t = ca.AttributeType;
					if (t.Name == "AttributeUsageAttribute" && t.Namespace == "System") {
						this.usage = (AttributeTargets)ca.ConstructorArguments[0].Value;
						if (ca.ConstructorArguments.Count > 1) {
							this.allowMutiple = (bool)ca.ConstructorArguments[1].Value;
							this.inherited = (bool)ca.ConstructorArguments[2].Value;
						}
						if (ca.HasProperties) {
							foreach (var namedArgument in ca.Properties) {
								switch (namedArgument.Name) {
									case "AllowMultiple":
										this.allowMutiple = (bool)namedArgument.Argument.Value;
										break;
									case "Inherited":
										this.inherited = (bool)namedArgument.Argument.Value;
										break;
								}
							}
						}
					}
				}
			}
		}
开发者ID:FaceHunter,项目名称:ILSpy,代码行数:27,代码来源:AnalyzedAttributeAppliedToTreeNode.cs


示例2: AttributeGen

		internal AttributeGen(AttributeTargets target, AttributeType attributeType, object[] args)
		{
			if (args != null)
			{
				foreach (object arg in args)
				{
					CheckValue(arg);
				}
			}

			// TODO: target validation

			this.attributeType = attributeType;

			Operand[] argOperands;
			if (args == null || args.Length == 0)
			{
				this.args = EmptyArray<object>.Instance;
				argOperands = Operand.EmptyArray;
			}
			else
			{
				this.args = args;
				argOperands = new Operand[args.Length];
				for (int i = 0; i < args.Length; i++)
				{
					argOperands[i] = GetOperand(args[i]);
				}
			}

			this.ctor = TypeInfo.FindConstructor(attributeType, argOperands);
		}
开发者ID:amithasan,项目名称:Framework-Class-Library-Extension,代码行数:32,代码来源:AttributeGen.cs


示例3: GetAttributeUsage

		void GetAttributeUsage() {
			if (analyzedType.HasCustomAttributes) {
				foreach (CustomAttribute ca in analyzedType.CustomAttributes) {
					ITypeDefOrRef t = ca.AttributeType;
					if (t != null && t.Name == "AttributeUsageAttribute" && t.Namespace == "System" &&
						ca.ConstructorArguments.Count > 0 &&
						ca.ConstructorArguments[0].Value is int) {
						usage = (AttributeTargets)ca.ConstructorArguments[0].Value;
						if (ca.ConstructorArguments.Count > 2) {
							if (ca.ConstructorArguments[1].Value is bool)
								allowMutiple = (bool)ca.ConstructorArguments[1].Value;
							if (ca.ConstructorArguments[2].Value is bool)
								inherited = (bool)ca.ConstructorArguments[2].Value;
						}
						foreach (var namedArgument in ca.Properties) {
							switch (namedArgument.Name) {
							case "AllowMultiple":
								if (namedArgument.Argument.Value is bool)
									allowMutiple = (bool)namedArgument.Argument.Value;
								break;
							case "Inherited":
								if (namedArgument.Argument.Value is bool)
									inherited = (bool)namedArgument.Argument.Value;
								break;
							}
						}
					}
				}
			}
		}
开发者ID:manojdjoshi,项目名称:dnSpy,代码行数:30,代码来源:AttributeAppliedToNode.cs


示例4: AttributeBlockNode

 public AttributeBlockNode(Token token,
                           AttributeTargets location,
                           ParseNodeList attributes)
     : base(ParseNodeType.AttributeBlock, token) {
     _location = location;
     _attributes = GetParentedNodeList(attributes);
 }
开发者ID:fugaku,项目名称:scriptsharp,代码行数:7,代码来源:AttributeBlockNode.cs


示例5: AttributeUsageAttribute

 internal AttributeUsageAttribute(AttributeTargets validOn, bool allowMultiple, bool inherited)
 {
     this.m_attributeTarget = AttributeTargets.All;
     this.m_inherited = true;
     this.m_attributeTarget = validOn;
     this.m_allowMultiple = allowMultiple;
     this.m_inherited = inherited;
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:8,代码来源:AttributeUsageAttribute.cs


示例6: AttributeUsageTest

 public AttributeUsageTest(MemberInfo member,
                           AttributeTargets validOn,
                           bool allowMultiple,
                           bool inherited)
     : base(member)
 {
     ValidOn = validOn;
     AllowMultiple = allowMultiple;
     Inherited = inherited;
 }
开发者ID:KarlDirck,项目名称:cavity,代码行数:10,代码来源:AttributeUsageTest.cs


示例7: AttributeCanBeAppliedToCodeElementsSupportedBySubstituteAttributeRelay

 public void AttributeCanBeAppliedToCodeElementsSupportedBySubstituteAttributeRelay(AttributeTargets expectedTarget)
 {
     // Fixture setup
     var attributeUsage = typeof(SubstituteAttribute).GetCustomAttributes(false)
         .OfType<AttributeUsageAttribute>().Single();
     // Exercise system
     Assert.Equal(expectedTarget, attributeUsage.ValidOn & expectedTarget);
     // Verify outcome
     // Teardown
 }
开发者ID:RyanLiu99,项目名称:AutoFixture,代码行数:10,代码来源:SubstituteAttributeTest.cs


示例8: AttributeUsageInfo

        internal AttributeUsageInfo(AttributeTargets validTargets, bool allowMultiple, bool inherited)
        {
            // NOTE: VB allows AttributeUsageAttribute with no valid target, i.e. <AttributeUsageAttribute(0)>, and doesn't generate any diagnostics.
            // We use use PackedAttributeUsage.Initialized field to differentiate between uninitialized AttributeUsageInfo and initialized AttributeUsageInfo with no valid targets.
            flags = (PackedAttributeUsage)validTargets | PackedAttributeUsage.Initialized;
            
            if (allowMultiple)
            {
                flags |= PackedAttributeUsage.AllowMultiple;
            }

            if (inherited)
            {
                flags |= PackedAttributeUsage.Inherited;
            }
        }
开发者ID:modulexcite,项目名称:pattern-matching-csharp,代码行数:16,代码来源:AttributeUsageInfo.cs


示例9: AttributeUsageAttribute

		public AttributeUsageAttribute (AttributeTargets validOn)
		{
			valid_on = validOn;
		}
开发者ID:runefs,项目名称:Marvin,代码行数:4,代码来源:AttributeUsageAttribute.cs


示例10: GetAttributeTargetName

 public virtual string GetAttributeTargetName(AttributeTargets targets) {
   if (this.ErrorHandler == null) return "";
   return this.ErrorHandler.GetAttributeTargetName(targets);
 }
开发者ID:hesam,项目名称:SketchSharp,代码行数:4,代码来源:Checker.cs


示例11: AttributeUsageAttribute

 public AttributeUsageAttribute(AttributeTargets validOn)
 {
     this.validOn = validOn;
 }
开发者ID:davidleon,项目名称:MOSA-Project,代码行数:4,代码来源:Core.cs


示例12: AttributeUsageAttribute

 public AttributeUsageAttribute(AttributeTargets validOn) { }
开发者ID:ehsansajjad465,项目名称:roslyn,代码行数:1,代码来源:aacorlib.v15.0.3928.cs


示例13: InvalidAttributeTarget

 public static CompilerError InvalidAttributeTarget(Node node, Type attrType, AttributeTargets validOn)
 {
     return new CompilerError("BCE0153", SafeLexicalInfo(node), attrType, validOn);
 }
开发者ID:w4x,项目名称:boolangstudio,代码行数:4,代码来源:CompilerErrorFactory.cs


示例14: ParseAttributeUsageAttribute

 [System.Security.SecurityCritical]  // auto-generated
 private static void ParseAttributeUsageAttribute(
     ConstArray ca, out AttributeTargets targets, out bool inherited, out bool allowMultiple)
 {
     int _targets;
     _ParseAttributeUsageAttribute(ca.Signature, ca.Length, out _targets, out inherited, out allowMultiple);
     targets = (AttributeTargets)_targets;
 }
开发者ID:enavro,项目名称:coreclr,代码行数:8,代码来源:CustomAttribute.cs


示例15: NonInheritedAttribute

			public NonInheritedAttribute(Type type, string str, int i, AttributeTargets e):
				this(type, str)
			{
			}
开发者ID:MajidSafari,项目名称:bltoolkit,代码行数:4,代码来源:GenerateAtributeTest.cs


示例16: AttributeUsageAttribute

		public AttributeUsageAttribute(AttributeTargets validOn) {
			Inherited = true;
			return;
		}
开发者ID:gamificationvn,项目名称:cstoas3,代码行数:4,代码来源:AttributeUsageAttribute.cs


示例17: GetAttributeTargetName

 public virtual string GetAttributeTargetName(AttributeTargets targets) {
   StringBuilder sb = new StringBuilder();
   if ((targets & AttributeTargets.Assembly) != 0 || (targets & AttributeTargets.Module) != 0)
     sb.Append("assembly");
   if ((targets & AttributeTargets.Constructor) != 0) {
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("constructor");
   }
   if ((targets & AttributeTargets.Event) != 0) {
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("event");
   }
   if ((targets & AttributeTargets.Field) != 0) {
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("field");
   }
   if ((targets & AttributeTargets.Method) != 0) {
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("method");
   }
   if ((targets & AttributeTargets.Parameter) != 0){
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("param");
   }
   if ((targets & AttributeTargets.Property) != 0){
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("property");
   }
   if ((targets & AttributeTargets.ReturnValue) != 0){
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("return");
   }
   if ((targets & AttributeTargets.Class) != 0 && (targets & AttributeTargets.Delegate) != 0 &&
     (targets & AttributeTargets.Enum) != 0 && (targets & AttributeTargets.Interface) != 0 && (targets & AttributeTargets.Struct) != 0){
     if (sb.Length > 0) sb.Append(", ");
     sb.Append("type");
   }else{
     if ((targets & AttributeTargets.Class) != 0){
       if (sb.Length > 0) sb.Append(", ");
       sb.Append("class");
     }
     if ((targets & AttributeTargets.Delegate) != 0){
       if (sb.Length > 0) sb.Append(", ");
       sb.Append("delegate");
     }
     if ((targets & AttributeTargets.Enum) != 0){
       if (sb.Length > 0) sb.Append(", ");
       sb.Append("enum");
     }
     if ((targets & AttributeTargets.Interface) != 0){
       if (sb.Length > 0) sb.Append(", ");
       sb.Append("interface");
     }
     if ((targets & AttributeTargets.Struct) != 0){
       if (sb.Length > 0) sb.Append(", ");
       sb.Append("struct");
     }
   }
   return sb.ToString();
 }
开发者ID:tapicer,项目名称:resource-contracts-.net,代码行数:60,代码来源:Error.cs


示例18: AttributeUsageAttribute

 internal AttributeUsageAttribute(AttributeTargets validOn, bool allowMultiple, bool inherited)
 {
     m_attributeTarget = validOn;
     m_allowMultiple = allowMultiple;
     m_inherited = inherited;
 }
开发者ID:justinvp,项目名称:corert,代码行数:6,代码来源:AttributeUsageAttribute.cs


示例19: AttributeUsageAttribute

 public AttributeUsageAttribute(AttributeTargets validOn)
 {
     _attributeTarget = validOn;
     _inherited = true;
 }
开发者ID:rsking,项目名称:scriptsharp,代码行数:5,代码来源:Runtime.cs


示例20: IsValid

		private static bool IsValid(AttributeTargets target, AttributeTargets validAttributeTargets)
		{
			return target == (validAttributeTargets & target);
		}
开发者ID:0xb1dd1e,项目名称:boo,代码行数:4,代码来源:CheckAttributesUsage.cs



注:本文中的AttributeTargets类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# AttributeType类代码示例发布时间:2022-05-24
下一篇:
C# AttributeTableBuilder类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap