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>();