zoukankan      html  css  js  c++  java
  • 发现C#的一个弱点

    写了如下代码:

        [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
        
    public class TypeConditionAttribute<TValue> : Attribute
        {
            
    /// <summary>
            
    /// The field name of type field
            
    /// </summary>
            public string TypeField { getset; }

            
    public TValue Value { getset; }

            
    public TypeConditionAttribute(string typeField, TValue value)
            {
                TypeField 
    = typeField;
                Value 
    = value;
            }

            
    public bool Evaluate(object record)
            {
                FieldInfo fieldInfo 
    = record.GetType().GetField(TypeField);
                
    object value = fieldInfo.GetValue(record);
                
    return this.Value.Equals((TValue)value);
            }
        }

    结果不能编译,原因是“Attribute”是一个特性类,无法从它派生泛型类型。有点出乎意外。

  • 相关阅读:
    洛谷P1455 搭配购买
    洛谷1341 无序字母对
    打击犯罪
    Cheese
    [noip2002] 产生数
    分治算法-----二分求最大最小
    yl 练习
    cj 练习
    雅礼2018-03-19洛谷作业 2
    雅礼2018-03-19洛谷作业
  • 原文地址:https://www.cnblogs.com/rufi/p/1752302.html
Copyright © 2011-2022 走看看