解决方案 »
- 我想把word文件保存到内存,怎么用MemoryStream
- string转int的问题(新手上C#路)
- c++定义的过程与c#转换
- 求Smith图的画法代码
- 在IE中欠入浏览WORD文档,如何控制在显示的Word文档中不能操作任何Ctrl+c,Ctrl+v等键盘操作。
- 查找我的邮箱里的附件,如果有一个如XXX.DOC文件就把它下载到我指定的目录下??
- 怎样在C#中使用C++写的类,敬请高手赐教!
- 在存储过程中如何表示一个表的字段数值自身加1后保存,有点像计数器,rs("hits")=rs("hits")+1
- 多客户访问时,类只创建一次
- 为啥没人指点一下,在文件框里,如何才能只输入数值,按其它键无效呢????????? (tigerbananaapple )
- c# 正则表达式 问题
- C# Winform项目中,实现在Panel控件中动态生成多个PictureBox控件
1. 这些类实现一个Name属性,返回名字;
2. 通过代码或者配置文件写一个字典,把名字和类对应起来;
3. 用自定义的attribute对类标注名字。第1种必须先创建了类,才能调用Name返回名字(当然写成静态的可以避免先创建,不过会导致静态构造的调用和继承时候的麻烦),很多时候不可接受。第2种需要写一个额外的机制来"注册"这些类。而第三种通过attribute的标注实现了"自注册",反射找到拥有标注了需要的名字的类,创建它就可以了。像MVC框架通过url查找Controller和Action都是这么一个过程。默认可以不用attribute,直接通过类名/方法名判断,但是需要的时候都是可以用attribute来定义这个映射。再比如,EF框架对数据库映射实体的时候,定义主键、外键、字段的类型、约束等等都可以通过attribute在实体上定义。这可以让人一目了然,看到实体和数据库表的对应关系。还有,序列化/反序列化数据的时候,可以通过attribute告诉序列化框架对应的类型/属性该如何处理。比如定义映射到数据的名字、默认值、日期值如何处理等等。总之,attribute可以用离目标最近的方式,给目标附加一些运行时可以获取到的信息。程序就可以根据需要利用这些信息来控制行为。