1
メソッドのパラメータとして渡されるジェネリック型に基づいてオーバーロードされたメソッドを取得する方法を理解しようとしています。特定の型を関数オーバーロードの汎用として渡す
以下のコードは、私が達成したいことを説明します。そのアプローチで
public class GetUser{
public User Execute<T>(int userId) where T : User { return null; }
public UserModel Execute<T>(int userId) where T : Business { return null; }
}
(new GetUser()).Execute<User>(1);
(new GetUser()).Execute<UserModel>(2);
問題が依然として同じパラメータを渡すため、 Visual Studioは依然としてExecuteメソッドがすでに定義されていることを示しています。
私はこの
public User Execute<T>(this User obj, int userId) where T : User { return null; }
を行うとVisual Studioがまだ合格する最初のパラメータを求めます。
アイデア?
コードに何が問題なのかを記述してください。 –
汎用型制約はメソッドシグネチャの一部ではありません。 –
返品の種類だけが異なる過負荷を設定することはできません。 –