仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 935|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET编程:进修C#:Attribute与Property仓酷云

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。一.甚么是Attribute
先看上面的三段代码:
1.自界说Attribute类:VersionAttribute
  1. [AttributeUsage(AttributeTargets.Class)]publicclassVersionAttribute:Attribute{publicstringName{get;set;}publicstringDate{get;set;}publicstringDescribtion{get;set;}}
复制代码
2.利用自界说Attribute的Class:
  1. [Version(Name="hyddd",Date="2009-07-20",Describtion="hydddsclass")]publicclassMyCode{//...}
复制代码
3.下面这个Class中的Attribute一样平常会被怎样利用呢?
  1. classProgram{staticvoidMain(string[]args){varinfo=typeof(MyCode);varclassAttribute=(VersionAttribute)Attribute.GetCustomAttribute(info,typeof(VersionAttribute));Console.WriteLine(classAttribute.Name);Console.WriteLine(classAttribute.Date);Console.WriteLine(classAttribute.Describtion);}}
复制代码
示例终了!下面三段代码信任已申明了Attribute也许是一个甚么工具和怎样往用。
二.深切会商Attribute
1.Attribute的观点界说
关于Attribute观点的界说,我间接援用《你必需晓得的.NET之特征和属性》中的一段来讲明:
MADN的界说为:大众言语运转时同意增加相似关头字的形貌声明,叫做attributes,它对程序中的元素举行标注,如范例、字段、办法和属性等。Attributes和Microsoft.NETFramework文件的元数据(metadata)保留在一同,能够用来向运转时形貌你的代码,大概在程序运转的时分影呼应用程序的举动。
我们复杂的总结为:定制特征attribute,实质上是一个类,其为方针元素供应联系关系附加信息,并在运转期以反射的体例来猎取附加信息。
噢,本来Attribute的目标是为元素供应联系关系附加信息。个中,下面第一段代码中“[AttributeUsage(AttributeTargets.Class)]”申明了Attribute供应附加信息的元素是Class,以是假如下面第二段的代码改成:
  1. publicclassMyCode{[Version(Name="hyddd",Date="2009-07-20",Describtion="hydddsclass")]publicvoidTest(){}}
复制代码
会呈现编译毛病。
2.Attribute作为编译指令
Attribute类是在编译的时分被实例化的,而不是像一般的类那样在运转时分才实例化。以是在第三段代码中,你能够在没有实例化MyCode对象的情形下取到MyCode的Attribute信息。因为Attribute类是在编译的时分被实例化的,以是你还能够用内部工具保护这些Attribute信息。
3.Attribute与Property
从中文来讲,Attribute和Property的中文都叫“属性”,很简单让人搅浑。如今的文章,Attribute一样平常翻译为”特征”,而Property称为“属性”。
也许你会问,我用静态的Property/Field一样能够做到在不实例化的时分拿到一些信息,假如如许的话,Attribute又有甚么存在乎义呢?
1.Property:
Property能够说是一个面向对象的观点,供应了对公有字段的会见封装,在C#中以get和set会见器办法完成对可读可写属性的操纵,供应了平安和天真的数据会见封装。好比:
  1. publicclassRobot{privatestringname="";//字段:FieldpublicstringName//属性:Property,对Field举行封装。{get{returnname;}set{name=value;}}}
复制代码
2.Attribute:
Attribute的方针是:为元素供应附加信息。它的感化更相似于正文。
能够说,Property/Field和Attribute是两个完整分歧的观点,固然他们有些时分能做一样的事,但请记着,他们是从实质上就分歧的两个工具。
三.完成本人的Attribute时必要注重的一些成绩
1.自界说的Attribute必需间接大概直接承继System.Attribute。
2.这里有一个商定:一切自界说的特征称号都应当有个Attribute后缀。由于当你的Attribute施加到一个程序的元素上的时分,编译器先查找你的Attribute的界说,假如没有找到,那末它就会查找“Attribute称号"+Attribute的界说。假如都没有找到,那末编译器就报错。这就是为何我能够再下面第一段代码中,界说一个VersionAttribute,但在第二段代码中,我利用倒是Version这个Attribute。:>
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。
admin 该用户已被删除
沙发
发表于 2015-1-20 19:47:45 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-29 18:09:01 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
乐观 该用户已被删除
地板
发表于 2015-2-6 03:07:27 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 19:06:27 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
再现理想 该用户已被删除
6#
发表于 2015-2-8 22:46:14 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
小妖女 该用户已被删除
7#
发表于 2015-2-26 11:51:35 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
精灵巫婆 该用户已被删除
8#
发表于 2015-3-8 14:41:12 | 只看该作者
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
柔情似水 该用户已被删除
9#
发表于 2015-3-16 02:09:37 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
活着的死人 该用户已被删除
10#
发表于 2015-3-22 18:39:50 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 06:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表