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”是一个特性类,无法从它派生泛型类型。有点出乎意外。

  • 相关阅读:
    Vue 备
    mac 下如何建立vue-cli项目
    24,25-request对象
    nodejs 备忘
    nodejs中mysql断线重连
    创建node.js,blog
    Mac 升级node与npm
    js 弹出层,以及在javascript里定义层样式
    js 光标选中 操作
    js 捕获型事件
  • 原文地址:https://www.cnblogs.com/rufi/p/1752302.html
Copyright © 2011-2022 走看看