我正在使用属性构建一些东西。我真正想作为属性实现的一件事是convert a string to this property's type using this function
. 现在,我有这个:
public delegate object ParameterConverter(string val);
[AttributeUsage(AttributeTargets.Property)]
public class ParameterConverterAttribute : ParameterBaseAttribute
{
ParameterConverter Converter;
public ParameterConverterAttribute(ParameterConverter converter)
{
Converter=converter;
}
public object Convert(string val)
{
return Converter(val);
}
}
我像这样使用它:
public class Tester
{
[ParameterConverter(new ParameterConverter(TestConverter)] //error here
public int Foo{get;set;}
static object TestConverter(string val)
{
return 10;
}
}
但是,.Net 或至少 C# 似乎不支持这种事情。似乎属性内部的委托不起作用。
是否有任何解决此问题的方法或处理此问题的好方法?