コード例 #1
0
    public static void SetExtensionDataAttributeValue(this object o, string name, object value)
    {
        if (string.IsNullOrWhiteSpace(name))
        {
            throw new ArgumentException("Invalid name");
        }
        try
        {
            foreach (Attribute a in System.ComponentModel.TypeDescriptor.GetAttributes(o))
            {
                if (a is ExtensionDataAttribute)
                {
                    ((ExtensionDataAttribute)a)[name] = value;
                    return;
                }
            }
        }
        catch { }

        try
        {
            ExtensionDataAttribute extensionData = new ExtensionDataAttribute();
            extensionData[name] = value;
            extensionData.AddTo(o);
        }
        catch { }
    }
コード例 #2
0
 /// <summary>
 /// Gets the description for the specified string, if it has one;
 /// </summary>
 /// <param name="s"></param>
 /// <returns></returns>
 public static string GetDescription(this string s)
 {
     foreach (Attribute a in System.ComponentModel.TypeDescriptor.GetAttributes(s))
     {
         if (a is ExtensionDataAttribute)
         {
             ExtensionDataAttribute eda = (ExtensionDataAttribute)a;
             if (eda.ContainsKey("Description"))
             {
                 return(eda["Description"].ToString());
             }
             else
             {
                 return("");
             }
         }
     }
     return("");
 }
コード例 #3
0
    /// <summary>
    /// Adds a description to the specified string object
    /// </summary>
    /// <param name="s">The string to describe</param>
    /// <param name="description">The description to set</param>
    public static void SetDescription(this string s, string description)
    {
        if (string.IsNullOrWhiteSpace(description))
        {
            description = "";
        }

        foreach (Attribute a in System.ComponentModel.TypeDescriptor.GetAttributes(s))
        {
            if (a is ExtensionDataAttribute)
            {
                ((ExtensionDataAttribute)a)["Description"] = description;
                return;
            }
        }

        ExtensionDataAttribute extensionData = new ExtensionDataAttribute();

        extensionData["Description"] = description;
        extensionData.AddTo(s);
    }