当前位置: 首页>>代码示例>>C#>>正文


C# PropertyInfo.GetIndexParameters方法代码示例

本文整理汇总了C#中PropertyInfo.GetIndexParameters方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyInfo.GetIndexParameters方法的具体用法?C# PropertyInfo.GetIndexParameters怎么用?C# PropertyInfo.GetIndexParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PropertyInfo的用法示例。


在下文中一共展示了PropertyInfo.GetIndexParameters方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OutlineProperty

	void OutlineProperty (PropertyInfo pi)
	{
		ParameterInfo [] idxp = pi.GetIndexParameters ();
		MethodBase g = pi.GetGetMethod (true);
		MethodBase s = pi.GetSetMethod (true);
		MethodBase accessor = g != null ? g : s;
		
		if (pi.CanRead && pi.CanWrite) {

			
			// Get the more accessible accessor
			if ((g.Attributes & MethodAttributes.MemberAccessMask) !=
			    (s.Attributes & MethodAttributes.MemberAccessMask)) {
				
				if (g.IsPublic) accessor = g;
				else if (s.IsPublic) accessor = s;
				else if (g.IsFamilyOrAssembly) accessor = g;
				else if (s.IsFamilyOrAssembly) accessor = s;
				else if (g.IsAssembly || g.IsFamily) accessor = g;
				else if (s.IsAssembly || s.IsFamily) accessor = s;
			}
		}
		
		o.Write (GetMethodVisibility (accessor));
		o.Write (GetMethodModifiers  (accessor));
		o.Write (FormatType (pi.PropertyType));
		o.Write (" ");
		
		if (idxp.Length == 0)
			o.Write (pi.Name);
		else {
			o.Write ("this [");
			OutlineParams (idxp);
			o.Write ("]");
		}
		
		o.WriteLine (" {");
		o.Indent ++;
		
		if (g != null && ShowMember (g)) {
			if ((g.Attributes & MethodAttributes.MemberAccessMask) !=
			    (accessor.Attributes & MethodAttributes.MemberAccessMask))
				o.Write (GetMethodVisibility (g));
			o.WriteLine ("get;");
		}
		
		if (s != null && ShowMember (s)) {
			if ((s.Attributes & MethodAttributes.MemberAccessMask) !=
			    (accessor.Attributes & MethodAttributes.MemberAccessMask))
				o.Write (GetMethodVisibility (s));
			o.WriteLine ("set;");
		}
		
		o.Indent --;
		o.Write ("}");
	}
开发者ID:JokerMisfits,项目名称:linux-packaging-mono,代码行数:56,代码来源:outline.cs

示例2: SharpKitPropertyName

 public static string SharpKitPropertyName(PropertyInfo property)
 {
     string name = property.Name;
     ParameterInfo[] ps = property.GetIndexParameters();
     if (ps.Length > 0)
     {
         for (int i = 0; i < ps.Length; i++)
         {
             Type type = ps[i].ParameterType;
             name += "$$" + SharpKitTypeName(type);
         }
         name = name.Replace("`", "$");
     }
     return name;
 }
开发者ID:shuidong,项目名称:qjsbunitynew,代码行数:15,代码来源:JSGenerator.cs


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