反射的实现(原创)

1、取得控制台应用程序的根目录方法
     方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
     方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
 2、取得Web应用程序的根目录方法
     方法1、HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
     方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径
     方法3、Request.ApplicationPath;//获取服务器上ASP.NET应用程序的虚拟应用程序根目录
 3、取得WinForm应用程序的根目录方法
     1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
     2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
     3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
     4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
     5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
其中:以下两个方法可以获取执行文件名称
     1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
     2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称

3、System.IO.Path类中有一些获取路径的方法,可以在控制台程序或者WinForm中根据相对路径来获取绝对路径

时间: 2024-10-09 09:17:37

反射的实现(原创)的相关文章

[原创]Java使用反射及自定义注解实现对象差异性比较

Java项目C中 有一处逻辑,对于资源数据(类型为ResourceItem,拥有int/double/boolean/String类型数十个字段),需要比对资源数据每次变更的差异,并描述出变更情况.并非所有的字段都需要比对,如id字段则不参与比对. 依次比对每一个字段编写代码比对,将是个重苦力活.高级语言给予了我们诸多便利,应当加以利用. 首先定义自己的注解,value值用作字段描述 @Target(ElementType.FIELD) @Retention(RetentionPolicy.RU

[ 原创 ]AVA反射机制主要提供了以下哪些功能?

AVA反射机制主要提供了以下哪些功能? 在运行时判断一个对象所属的类 在运行时构造一个类的对象 在运行时判断一个类所具有的成员变量和方法 在运行时调用一个对象的方法

[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之一:OBJ格式分析

[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之一:OBJ文件格式分析作者:yuezang - iTyran 在iOS的3D开发中常常需要导入通过3DS MAX之类的3D设计软件生成的模型.因为OpenGL ES是不能直接读取这些文件的,所以常常需要开发人员增加接口来导入.通常的做法是在建模软件中建立3D模型之后在OpenGL ES中导入并进行控制.    3DS MAX通常的保存格式有*.max(现在生成的版本的格式),*.3ds(低版本的3ds Max生成的格式)

【WindowsPhone】利用反射初始化和添加 SQLite数据库

首先引用命名空间 using System.Reflection 了解一下 Assembly 类 // // 摘要: // 表示一个程序集,它是一个可重用.无版本冲突并且可自我描述的公共语言运行时应用程序构造块. public abstract class Assembly 我们把Model类都约定好放在同一个命名空间下,下面以User类为例: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 u

java反射机制之基础

一.什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息. 二.哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,Class.forName("com.mysql.jdbc.Driver.class").newInstance();但是那时候只知道那行代码是生成驱动对象实例,并不知道它的具体含义.听了反射机制这节课后,才知道,原来这

Java反射—运用反射生成jdk动态代理

1.  核心类&接口 在Java的java.lang.reflect包下提供一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成jdk动态代理类或动态代理对象. Proxy是所有动态代理类的父类,它提供了两个静态方法来创建动态代理类和动态代理对象,如下: ?  static Class<?> getProxyClass(ClassLoader loader, Class<?>... interfaces) ?  static Objec

Java反射—模拟Spring的Aop

1.    大概流程 上篇文章已经结合Java反射解释了SpringAop的原理,这里我们简单模拟以下Spring的Aop实现.大体流程如下: ?  创建一个properties配置文件模拟Spring配置文件. ?  创建一个增强接口与一个实现类模拟Spring的Advice. ?  创建一个生成代理的工厂类,并在InvocationHandler类的invoke方法中织入增强方法(即aop). ?  创建一个生成Bean的工厂类(类似IOC工厂,只创建bean,没有依赖注入的功能),生成Be

java反射的应用实践

java反射之前接触比较多,但仅技术方面思考的多:这次主要是从业务角度出发,思考java反射在业务模块设计中如何发挥更高效的作用,以提高生产率. 1.业务需求 要处理银行回单票据,提取出付款人.收款人及对应银行和业务信息,每个银行的格式都不统一.所以需要对各家银行的格式进行预处理,规整为标准格式后,交由后续模块处理. 这个预处理格式化的设计有多种 2.方案选型 做法 适用场景 技能要求 在if..else中添加分支逻辑 适用于分支较少的场景,如只有2~4个 简单 把分支逻辑提取为句柄,显示注册到

.Net配置文件——反射+配置文件存储类型实例

配置文件+反射确实去除了选择语句的繁琐,带来了优美的赶脚! 首先改进了一下类(接上文): namespace ClassLib { /// <summary> /// Interface IGreetingStrategy /// </summary> /// <remarks>Editor:v-liuhch CreateTime:2015/6/28 11:01:58</remarks> public interface IGreetingStrategy