拡張方法に問題があります。QueryString を取得するための汎用拡張メソッドを作成しました。特定のタイプの変数を使用してそのメソッドを呼び出しています。どのタイプのデータが QueryString に付属していますか。私の拡張方法を以下に示します。
public static class my
{
public static void GetQueryString<T>(this T caller, string queryString)
{
if (HttpContext.Current.Request.QueryString[queryString] != null)
{
T type = (T)Convert.ChangeType(HttpContext.Current.Request.QueryString[queryString], typeof(T));
caller = type;
}
}
public static void GetQueryString(this Employee caller)
{
caller.ID = 23;
}
}
文字列変数を宣言してから拡張メソッドを呼び出すために、クエリ文字列から文字列値を取得したい。「t1」変数でクエリ文字列の値を取得したい。
string t1 = string.Empty;
t1.GetQueryString("name");
しかし、値は呼び出し元変数には入っていません。同じことがEmployeeオブジェクトに関連する拡張メソッドで動作していますが、プリミティブ型で値を取りたいです。誰かがそれについて考えているなら、私と共有してください。前もって感謝します。