Я бы хотел, но не похоже, что ты можешь.
Вы можете инкапсулировать то, что вы хотите в типе, и ссылаться на тип, хотя.
public interface Accessor
{
object GetValue(object source);
}
public class ExpressionDrivenAccessor<T, U> : Accessor
{
private readonly Func<T, U> getIt;
protected ExpressionDrivenAccessor(Expression<Func<T, U>> expression)
{
getIt = expression.Compile();
}
public object GetValue(object source)
{
return getIt((T)source);
}
}
public class SomeAccessor : ExpressionDrivenAccessor<X, Y>
{
public SomeAccessor() : base(t => t.SomeProperty) { }
}
[MyAttribute(typeof(SomeAccessor))]