|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。asp.net 1、资本文件的界说
复杂点的说法就是程序中可使用的数据,象:字符串,图片或二进制数据等等,实践上能够包括任何范例的文件。
资本文件能够有多个言语版本,如许在开辟环球化使用程序时就很主要。这个特征是经由过程System.Resources空间下的ResourceManager类来完成必要在甚么时分挪用谁人版本的。在VS.NET中将一个文件的属性设置为EmbeddedResource就能够使资本被嵌进到Assembly中了。
2、资本文件包括那些范例?
System.Resources空间撑持三种资本文件:。txt文件,只能有字符串资本。由于不克不及被嵌进到Assembly中,以是很简单表露,被客户修正。最年夜弱点是仅撑持字符串资本,以是不保举利用。resx文件,由XML构成,能够到场任何资本,包含二进制。一样不克不及被嵌进到Assembly中。在System.Resources名字空间中有公用读写的类。VS.NET创立这类文件然后将其转成.resources文件并依据设置将其嵌进到Assembly中。。resources文件,PE格局,能够到场任何资本。独一能够被嵌进到Assembly的文件,在System.Resources名字空间中有公用读写的类。
3、怎样挪用资本文件?
一般的做法是要将。txt文件。resx文件等转化成。resources文件在经由过程ResourceManager来举行挪用,可是我们也能够不接纳那种体例,我以为对照贫苦,象上面如许做我以为好些:我们能够欠亨过一个资本文件而间接将一资本嵌进到Assembly中。这能够在VS.NET中经由过程设置一文件的Build属性为EmbeddedResource完成。在这类情形下ResourceManager就没有效了,由于它只能猎取.resources资本文件。那末怎样挪用这类的资本呢?我们必要使用一些Reflection中的特性。我们只需懂得一些System.Reflection.Assembly这个类中的一些函数就能够了。有三个相干函数,不外我们只必要Assembly.GetManifestResourceStream这个函数。这个函数将一嵌进到Assembly中的资本以stream的体例前往,而我们能够将这个stream转成在.NET中可用的工具。好比,假如嵌进资本是一图片,那末我们能够使用NewBitmap(Stream)这个Bitmap的constructor取得这个图片资本的Bitmap工具;假如我们嵌进的是一文本文件,我们可使用StreamReader将它的内容读出来。
上面给一个复杂的以文本文件为资本的DEMO
step1:资本文件
将文件嵌进Assembly,下面已说了怎样做
step2:挪用资本文件
publicStreamGetEmbeddedResource()
{
returnSystem.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ResoureceDemo.test.txt");//关头的一句
}//ResoureceDemo.test.txt注释一哈
//ResoureceDemo暗示定名空间,test.txt文本文件称号
privatevoidbutton1_Click(objectsender,System.EventArgse)
{
StreamsResponse;
StreamReadersrResponse;
sResponse=GetEmbeddedResource();
srResponse=newStreamReader(sResponse);
stringtxtDemo=srResponse.ReadToEnd().ToString();
label1.Text=txtDemo;
}
固然,以图片格局的体例也一样的操纵。不在举例了,最初有个工具人人不要忘了:resgen.exe专门用来做资本文件范例之间的转换。撑持.txt<->.resx<->.resources之间的转换。
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。 |
|