属性を使用していくつかのものを構築しています。属性として実装したいのは、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#は、この種の機能をサポートしていないようです。属性内のデリゲートが機能していないようです。
この問題の回避策またはこの問題に対処するための良い方法はありますか?