C#反射读取和设置类的属性

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

 

时间: 2024-08-01 03:26:04

C#反射读取和设置类的属性的相关文章

C#反射技术之读取和设置类的属性

要用C#反射技术的话,首先得引入System.Reflection 命名空间,这个命名空间里的类,具有动态加载程序集.类型,动态调用方法.设置和取得属性和字段的值.可以获取类型和方法的信息的功能. 要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法. 1 Class MyClass 2 { 3 private int field; 4 public int Field 5 { 6 get 7 { 8 return this.fi

C#反射技术的简单操作(读取和设置类的属性)

要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法. 首先建立一个测试的类 复制代码 代码如下: public class MyClass { public int one { set; get; } public int two { set; get; } public int five { set; get; } public int three { set; get; } public int four { set; ge

C#反射技术的简单操作(读取和设置类的属性)_实用技巧

要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法. 首先建立一个测试的类 复制代码 代码如下: public class MyClass { public int one { set; get; } public int two { set; get; } public int five { set; get; } public int three { set; get; } public int four { set; ge

钻牛角尖————“init()事件发生在所有的控件被初始化,所有的皮肤设置被应用以后。它用来读取或者初始化控件属性”————这句话矛盾不?怎么初始化两遍啊?

问题描述 Init():这个事件发生在所有的控件被初始化,所有的皮肤设置被应用以后.它用来读取或者初始化控件属性.这句话我不理解,感觉矛盾.到了init()这步,所有的控件不是都被初始化完了嘛,为什么还说"读取或初始化控件属性"?这不是初始化两遍嘛?微软上也是这么说的:Init():在所有控件都已初始化且已应用所有外观设置后引发.使用该事件来读取或初始化控件属性.难道"控件初始化"与"初始化控件属性"是两个不同的概念嘛? 解决方案 解决方案二:首

mvc中动态给一个Model类的属性设置验证

原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这样的验证毕竟功能有限,那么就需要我们自己进行定制验证. 假设有Model类:class Dinners{ private string Title;      private System.DateTime EventDate;      private string Description;   

Java通过反射机制动态设置对象属性值的方法_java

/** * MethodName: getReflection<br> * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7-19下午12:42:55 * @param clzzName * @param respXML * @return * @throws ClassNotFoundException * @throws DocumentException * @throws IllegalArgumentE

vb.net 类的属性的设置和获取问题

怎么样定义一个自定义类的属性呢?怎么样来设置和获取它的属性呢?下面是一个类的例子: Public Class TestClass Test          Private _classid As String    ''' <summary>    ''' 设置和获取分类ID    ''' </summary>    Public Property classid()Property classid() As Integer        Get            Retur

javaScript 读取和设置文档元素的样式属性_javascript技巧

首先我们先说一下样式表属性 1. 内联样式即元素style属性里面设置的,级别最高 2. 页面样式表定义即页面<style></style>里面定义的,级别次之 3.外部链接样式表文件 JavaScript获取和设置文档元素的css属性: 1.获取元素Style属性里面设置的样式属性, document.getElementById(id).style.height; 有,则返回属性值:没有则返回空 IE和火狐皆然,只是有的属性值返回可能不一样,比如像颜色火狐返回rgb,而IE是返

反射:运行期类信息

如果不知道一个对象的准确类型,RTTI会帮助我们调查.但却有一个限制:类型必须是在编译期间已知的,否则就不能用RTTI调查它,进而无法展开下一步的工作.换言之,编译器必须明确知道RTTI要处理的所有类. 从表面看,这似乎并不是一个很大的限制,但假若得到的是一个不在自己程序空间内的对象的句柄,这时又会怎样呢?事实上,对象的类即使在编译期间也不可由我们的程序使用.例如,假设我们从磁盘或者网络获得一系列字节,而且被告知那些字节代表一个类.由于编译器在编译代码时并不知道那个类的情况,所以怎样才能顺利地使