我面临扩展方法的问题。我做了一个通用的扩展方法来获取 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 对象相关的扩展方法,但我想在原始类型中获取价值。如果有人对此有想法,请与我分享。提前致谢。