开发者

Unable to find a converter that supports conversion to/from string for the property of type 'Type'

I'm writing a custom config class in C# an开发者_开发百科d .NET 3.5. One of the properties should be of type System.Type. When I run the code I get the error mentioned in the title.

[ConfigurationProperty("alertType", IsRequired = true)]
public Type AlertType
{
    get { return (Type)this["alertType"]; }
    set { this["alertType"] = value; }
}

The config file looks like this:

<add name="Name" pollingInterval="60" alertType="Namespace.ClassName, Company.Project" />

The .net framework is able to cast a string into System.Type, because the configSections of the config file has a type attribute. The question is how do they do it.


I know this is old, but I think this is actually the correct answer:

[TypeConverter(typeof(TypeNameConverter))]
[ConfigurationProperty("alertType", IsRequired=true)]
public Type AlertType
{
    get { return this[ "alertType" ] as Type; }
    set { this[ "alertType" ] = value; }
}

Adding the TypeNameConverter makes the transformation from String to Type happen without using Type.GetType().


I think you're looking for Type.GetType Method (String)


You can try using the TypeNameConverter class. It has two methods you may be interested in:

ConvertToString and ConvertFromString

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜