仓酷云

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

[学习教程] ASP编程:.net的reflection (2)

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:31:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。一旦失掉类工具,上表中所列的办法就可以被叫来挪用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:16 来自手机 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-26 07:21:29 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
透明 该用户已被删除
地板
发表于 2015-2-4 13:41:43 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
活着的死人 该用户已被删除
5#
发表于 2015-2-10 00:24:17 | 只看该作者
那么,ASP.Net有哪些改进呢?
变相怪杰 该用户已被删除
6#
发表于 2015-2-28 10:42:16 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-9 22:45:51 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
分手快乐 该用户已被删除
8#
发表于 2015-3-17 03:06:20 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
柔情似水 该用户已被删除
9#
发表于 2015-3-23 17:57:26 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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