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


C# PropertyInfo.IsStatic方法代码示例

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


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

示例1: Verify

        /// <summary>
        /// Verifies that a field correctly exposes a certain parameter of a constructor.
        /// </summary>
        /// <param name="property">
        /// The property.
        /// </param>
        public override void Verify(PropertyInfo property)
        {
            if (property == null)
                throw new ArgumentNullException("property");

            if (property.GetGetMethod() == null
                || property.IsStatic()
                || property.IsAbstract()
                || property.GetIndexParameters().Length != 0)
                return;

            var propertyInfoElement = property.ToElement();
            var parameterInfoElements = GetParameterInfoElements(property.ReflectedType);

            if (parameterInfoElements.Any(p => this.MemberToParameterComparer.Equals(propertyInfoElement, p)))
                return;

            var messageFormat = @"No constructors with an argument that matches the property were found.
            Declaring type: {0}
            Reflected type: {1}
            Property      : {2}";

            throw new MemberInitializationException(
                string.Format(
                    CultureInfo.CurrentCulture,
                    messageFormat,
                    property.DeclaringType,
                    property.ReflectedType,
                    propertyInfoElement));
        }
开发者ID:jwChung,项目名称:Experimentalism,代码行数:36,代码来源:MemberInitializationAssertion.cs

示例2: VisitProperty

 protected virtual PropertyInfo VisitProperty(PropertyInfo prop)
 {
     var origType = prop.DeclaringType;
     var replacedType = VisitType(origType);
     if (replacedType != origType)
     {
         return prop.IsStatic()
             ? replacedType.GetProperty(prop.Name,
                                        BindingFlags.Static | BindingFlags.NonPublic
                                        | BindingFlags.Public)
             : replacedType.GetProperty(prop.Name,
                                        BindingFlags.Instance | BindingFlags.NonPublic
                                        | BindingFlags.Public);
     }
     return prop;
 }
开发者ID:Pomona,项目名称:Pomona,代码行数:16,代码来源:ExpressionTypeVisitor.cs

示例3: ValidateKRPCClassProperty

 /// <summary>
 /// Check the given type is a valid kRPC class property
 ///  1. Must have KRPCProperty attribute
 ///  2. Must have a valid identifier
 ///  3. Must be a public non-static property
 ///  4. Must be declared inside a kRPC class
 /// </summary>
 public static void ValidateKRPCClassProperty (PropertyInfo property)
 {
     if (!Reflection.HasAttribute<KRPCPropertyAttribute> (property))
         throw new ArgumentException (property + " does not have KRPCProperty attribute");
     // Note: Type must already be a property, due to AttributeUsage definition
     // Validate the identifier.
     ValidateIdentifier (property.Name);
     // Check it's not static
     if (!(property.IsPublic () && !property.IsStatic ()))
         throw new ServiceException ("KRPCProperty " + property + " is not public non-static");
     // Check the method is defined directly inside a KRPCClass
     var declaringType = property.DeclaringType;
     if (declaringType == null || !Reflection.HasAttribute<KRPCClassAttribute> (declaringType))
         throw new ServiceException ("KRPCProperty " + property + " is not declared inside a KRPCClass");
 }
开发者ID:paperclip,项目名称:krpc,代码行数:22,代码来源:TypeUtils.cs

示例4: CreateVariable

        public static IVariableDefinition CreateVariable(object instance, PropertyInfo property)
        {
            var variableType = typeof(VariableDefinition<>).MakeGenericType(property.PropertyType);
            IVariableDefinition variable = null;

            try
            {
                if (property.IsStatic())
                    variable = (IVariableDefinition)Activator.CreateInstance(variableType, null, property);
                else
                    variable = (IVariableDefinition)Activator.CreateInstance(variableType, instance, property);
            }
            catch { }

            return variable;
        }
开发者ID:Magicolo,项目名称:PseudoFramework,代码行数:16,代码来源:SchemaUtility.cs


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