0

単純なクラス ツリーがあるとします。

public class Operation {
    public int callback;
}

public class OperationResponse : Operation {
}

OperationRequest次に、次のような単純な Extension メソッドを持つ新しいクラスを追加したいと思います。

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 に答える