0

假设我有一个简单的类树:

public class Operation {
    public int callback;
}

public class OperationResponse : Operation {
}

现在我想添加一个新类OperationRequest,它有一个简单的扩展方法,如:

public static class Extensions
{
    public static T GetResponse<T>(this Operation source) where T : Operation {
        return new T{ callback = source.callback };
    } 
}

我很想用类似的东西来定义它:

[Response(OperationResponse)]
public class OperationRequest {
}

并将其扩展名指定为GetResponse<OperationResponse>. .net4 中的属性是否可能发生这种事情以及如何做到这一点?

4

1 回答 1

0

从技术上讲,您可以在运行时拥有某种复杂的结构。但是不可能有扩展可以提供的设计时智能感知。属性更多的是运行时行为。

于 2013-05-15T00:00:04.173 回答