首页 新闻 会员 周边

谁能告诉我C#中特性

0
悬赏园豆:10 [已关闭问题]

我意思不是其他百度和书上这么专业性的讲解特性,我不明白的地方就是哪些地方我可以用特性,特性的最实用的用法等,最好再加上一个小例子,谢谢了。

JackyXHJ的主页 JackyXHJ | 初学一级 | 园豆:160
提问于:2009-12-14 23:14
< >
分享
其他回答(4)
0

一点小应用.如下.是LinqToSql生成的一段代码:

可以看到每个属性上有对应的特性项.(包括类型与长度等.)而我要获得相应表里对应字段的长度.

如下.

      //下面是对上面对象属性的遍历.

                foreach (PropertyInfo item in ps)
                {

        //属性是否是String
                    
if (item.ToString().Contains("String"))
                    {
                        //获得这个属性上的特性.

                        ColumnAttribute a = Attribute.GetCustomAttribute(item, typeof(ColumnAttribute)) as ColumnAttribute;

        //取得这个特性里指出相关字段的长度.
                        
string length = a.DbType.Substring(startIndex, a.DbType.IndexOf(')'- startIndex); 
                    }
完整的你可以看如下.

http://www.cnblogs.com/zhouxin/archive/2009/12/04/1617036.html

天天不在 | 园豆:926 (小虾三级) | 2009-12-15 09:04
0

呵呵,楼主的问题问得太大了!
这个需要楼主自己慢慢体会了。。。。 

不过给一个Link,C# 2.0 中的匿名delegate:

http://www.yesky.com/320/1868820.shtml

BingP | 园豆:128 (初学一级) | 2009-12-15 09:08
0

.net 框架自身里面 就有很多 应用attribute的例子

比如 Flags(位枚举) Serializable(可序列化)

如果,楼主还是觉得这些难理解的话

建议你看看postsharp这个AOP框架,如何利用attribute进行注入的。

还是不行的话,建议看看《clr via c# 》第二版 331页。

Cheese | 园豆:509 (小虾三级) | 2009-12-15 12:48
0

提供一个方向,特性很多时候和反射结合起来,两者合起来用很方便!

YangLau | 园豆:313 (菜鸟二级) | 2009-12-17 12:39
0

我准备写    MSIL【五】-------C#特性Attribute揭秘

【当耐特】 | 园豆:645 (小虾三级) | 2009-12-27 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册