C#里面怎么给一个类动态添加属性 我想在一个类里面动态的添加一个属性,该怎么办 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 C# 3.0 里提供了这种机制,可以为类添加属性或者方法,比如说为 String 添加一个方法namespace MyExtensionMethods{ public static class MyExtensions { public static int MyGetLength(this System.String target) { return target.Length; } }}使用时,需要引入这个名字空间,引用如下:string str = "dafasdf";int len = str.MyGetLength();扩展方法的声明方式:1. 静态类,静态方法2. 第一个参数是目标类的一个实例,需要使用 this 关键字其他问题,请参考 .net 3.0 的特性。 (请使用vs2008) 我帮Peter再说一便吧:(这不是动态属性,)这是扩展方法 我认为可以这样实现,写一个基类 就是支持扩展属性的基类,里面有个list <object> 然后有个List <type> 定义每一个属性的类型, 再加一个 List<string>描述属性名然后写个方法,叫定义属性,可以为这几个list分别添加一个记录,然后让你的类集成这个类,然后取值的时候,可以直接调用基类的某个属性委托,看起来就像是取值了。至于实现方法,我没有时间写了!如果希望可用性更好,可以再写个Attribute --------------------------欢迎关注我的博客 windows server 2003 winform中的System.Timers.Timer不被触发 如何去注册多个TCP/HTTP通道 ? 关于IEWebControls的dll的PublicKeyToken的问题 再遇WinForm获取网页内容时的难题 关于comBox的一个问题 求一个算法 如何填充DataSet,急! MessageBox打上.后不能自動跳出相應的方法和屬性等 先装VS2005,再装VS2003,结果工程文件图标不能显示是VS8还是VS7.1的了,怎么办? 请解决这个问题,谢谢。 XP iis问题 求助webbrowser自动提交表单的问题
namespace MyExtensionMethods
{
public static class MyExtensions
{
public static int MyGetLength(this System.String target)
{
return target.Length;
}
}
}
使用时,需要引入这个名字空间,引用如下:string str = "dafasdf";
int len = str.MyGetLength();
扩展方法的声明方式:
1. 静态类,静态方法
2. 第一个参数是目标类的一个实例,需要使用 this 关键字其他问题,请参考 .net 3.0 的特性。 (请使用vs2008)
(这不是动态属性,)这是扩展方法
然后写个方法,叫定义属性,可以为这几个list分别添加一个记录,
然后让你的类集成这个类,然后取值的时候,可以直接调用基类的某个属性委托,看起来就像是取值了。至于实现方法,我没有时间写了!
如果希望可用性更好,可以再写个Attribute
--------------------------
欢迎关注我的博客