仓酷云

标题: ASP编程:.net的reflection (2) [打印本页]

作者: 只想知道    时间: 2015-1-16 22:31
标题: ASP编程:.net的reflection (2)
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。一旦失掉类工具,上表中所列的办法就可以被叫来挪用reflaction.第一个例子将反省在CSharpReflectionSamples.Reflect类中的失掉办法的信息。第一块代码用来界说类中的每一个办法的名字,第二块代码将论述失掉办法信息。向上面所展现的,我们将用一个数组来保留用GetMethod()办法前往的办法信息。MethodInfo类包括信息为办法的名字,不论是否是假造的,它都是可见的,等等。

namespaceCSharpReflectionSamples
{
usingSystem;
usingSystem.Reflection;

///<summary>
///SummarydescriptionforClient.
///</summary>
publicclassClient
{
publicstaticvoidMain()
{
//thetypeofoperatorandtheGetTypemethod
//bothreturnaTypeobject.
Typetype1=typeof(Reflect);
ReflectobjTest=newReflect(0);
Typetype2=objTest.GetType();

Console.WriteLine("TypeofobjTestis{0}",type2);
Console.WriteLine();
//pause
Console.ReadLine();

//reflectmethodinformation
MethodInfo[]minfo=type1.GetMethods();
//iteratethroughmethods
foreach(MethodInfominminfo)
{
Console.WriteLine(m);
}
Console.WriteLine();
}
}
}

下一个例子将展现静态失掉工具有大概打仗的每一个机关器的信息。相似与下面的例子,我们将前往一个包括每一个机关器的信息ConstructorInfo工具。

namespaceCSharpReflectionSamples
{
usingSystem;
usingSystem.Reflection;

///<summary>
///SummarydescriptionforClient.
///</summary>
publicclassClient
{
publicstaticvoidMain()
{
//thetypeofoperatorandtheGetTypemethod
//bothreturnaTypeobject.
Typetype1=typeof(Reflect);
ReflectobjTest=newReflect(0);
Typetype2=objTest.GetType();

Console.WriteLine("TypeofobjTestis{0}",type2);
Console.WriteLine();
//pause
Console.ReadLine();

//reflectconstructors
ConstructorInfo[]cinfo=type1.GetConstructors();
//iteratethroughconstructors
foreach(ConstructorInfocincinfo)
{
Console.WriteLine(c);
}
}
}
}

最初一部分,大概是reflection名字空间中最冲动民气的部分,是在运转时静态挪用类办法。有两种办法,起首,我们将创建一个数组来存储参数,这些参数被机关器用来制作工具。第二,一个System.Object工具将匹敌CreateInstance办法的工具。以失掉想失掉工具的例子。最初,当我们有了工具的材料,我们可以挪用任何利用MethodParm数组的办法。上面是代码:

namespaceCSharpReflectionSamples
{
usingSystem;
usingSystem.Reflection;

///<summary>
///SummarydescriptionforClient.
///</summary>
publicclassClient
{
publicstaticvoidMain()
{
//thetypeofoperatorandtheGetTypemethod
//bothreturnaTypeobject.
Typetype1=typeof(Reflect);
ReflectobjTest=newReflect(0);
Typetype2=objTest.GetType();



//dynamiccreationandinvocation
//instantiatetheReflectobject,passing
//avalueof1totheconstructor
object[]oConstructParms=newobject[]{1};
objectobj=Activator.CreateInstance(type1,oConstructParms);
//invokemethodofreflectobject
object[]oMethodParms=newobject[]{17};
intintResult=(int)type1.InvokeMember("AMethod",BindingFlags.Default|
BindingFlags.InvokeMethod,null,obj,oMethodParms);
Console.WriteLine("ResultofcallingAMethodon{0}is{1}",
type1.Name,intResult);
//pause
Console.ReadLine();
}
}
}


这篇文章论述了.netReflaction的基本,鄙人一部分,我将和人人会商进一步的话题,好比,静态公布两头言语,旌旗绑定,和两头言语准绳。
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。
作者: 简单生活    时间: 2015-1-19 16:09
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 灵魂腐蚀    时间: 2015-1-26 07:21
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 透明    时间: 2015-2-4 13:41
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 活着的死人    时间: 2015-2-10 00:24
那么,ASP.Net有哪些改进呢?
作者: 变相怪杰    时间: 2015-2-28 10:42
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者: 精灵巫婆    时间: 2015-3-9 22:45
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者: 分手快乐    时间: 2015-3-17 03:06
不能只是将它停留在纸上谈兵的程度上。
作者: 柔情似水    时间: 2015-3-23 17:57
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2