C#反射技术的简单操作(读取和设置类的属性)
http://www.cnblogs.com/william-lin/archive/2013/06/05/3118233.html
泛型方法通过反射创建类的实例
/// <summary>
/// 获取web服务实例
/// </summary>
/// <typeparam name="T">服务代理类</typeparam>
/// <returns></returns>
public static T GetInsatnce<T>() where T : System.Web.Services.Protocols.SoapHttpClientProtocol
{
string fullWebUrlPath = string.Empty;
Type type = typeof(T);
object obj = Activator.CreateInstance(type);
T instance = obj as T;
System.Reflection.PropertyInfo propertyInfo = type.GetProperty("Url");
fullWebUrlPath = Prefix_WebServiceURL + string.Format("/{0}/{0}.asmx", type.Name);
propertyInfo.SetValue(obj, fullWebUrlPath, null);
return instance;
}
调用:
var loginService = ServiceProxyFactory.GetInsatnce<Globalegrow.ServiceProxy.LoginServiceProxy.LoginService>();