说明:由于工作原因,本人使用反射的机会不是很多,所以没有必要为了炫耀技术而使用这种技术,不过今天有人问到这方面的问题,所以做了一个简单例子,供初学者参考,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace AssemblyDemo
{
public class Person
{
private int age;
private string name;
public Person()
{
age = 20;
name = "未知";
}
public Person(int age, string name)
{
this.age = age;
this.name = name;
}
public override string ToString()
{
return String.Format("姓名={0},年龄={1}", name, age);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;//注意要添加这个命名控件的引用
namespace AssemblyDemo
{
public class Program
{
public static void Main(string[] args)
{
Assembly asm=Assembly.Load("AssemblyDemo");
Type pt = asm.GetType("AssemblyDemo.Person");//注意这里用全路径AssemblyDemo.Person而不是Person
Person p =(Person) Activator.CreateInstance(pt);//创建不带参数的实例
Console.WriteLine(p.ToString());
Person p2 = (Person)Activator.CreateInstance(pt,30,"zhoufoxcn");//创建带参数的实例
Console.WriteLine(p2.ToString());
Console.ReadLine();
}
}
}
程序结果如下:
分享到:
相关推荐
总结起来,通过在.NET中结合反射和简单工厂模式,我们可以构建灵活的代码,以适应不同的数据库环境,而无需硬编码特定的数据库访问逻辑。这种做法提高了代码的可扩展性和可维护性,对于多数据库支持的应用来说非常...
总的来说,.NET反射与特性是提升代码灵活性和可维护性的重要工具。理解并熟练掌握它们,能让你在.NET开发中游刃有余,编写出更加高效且易于扩展的代码。通过提供的`Reflection+AttributeDemo`项目,你可以更深入地...
在上面的例子中,我们使用了反射机制来加载旧的 SendMsg 方法,并给出警告信息。这使得开发者能够更好地理解程序的行为,并避免使用过时的方法。 反射机制的优点 ---------------- 反射机制的优点是它能够让程序在...
在IT行业中,反射是一个至关重要的概念,特别是在编程语言如C#和JavaScript中。本文将深入探讨反射的概念,以及如何在ASP.NET...然而,需要注意的是,过度使用反射可能会带来性能损失,因此在实际应用中应谨慎使用。
本文将详细介绍.NET反射的作用以及如何使用反射。 **一、什么是反射** 反射是.NET框架提供的一种机制,它允许程序动态地获取类型信息,并在运行时创建和操作对象。通过反射,开发者可以实现以下功能: 1. **获取...
在.NET中,反射提供了一种在运行时获取类型信息并使用这些信息动态创建对象、调用方法、访问属性的能力。这主要通过`System.Reflection`命名空间中的类实现,如`Type`、`MethodInfo`、`PropertyInfo`等。例如,我们...
2. **对象与类**:VB.NET是面向对象的语言,例子中可能会涵盖类的定义、属性、方法、构造函数和析构函数的使用,以及对象的创建与销毁。 3. **事件处理**:VB.NET中的控件事件处理是常见的编程场景,如Click、...
在.NET框架中,程序集(Assembly)是代码的物理封装单元,它包含了类、接口、资源等元素。...在实际开发中,合理使用反射能有效提升代码的动态性和灵活性,但同时也要注意性能影响,因为反射操作相对较为昂贵。
### .NET Framework 反射特性的使用详解 在.NET Framework中,反射是一个强大的特性,它允许程序在运行时检查和调用类型的信息。这在很多场景下非常有用,比如动态加载组件、创建对象实例以及调用方法等。本文将...
在编程领域,反射是.NET框架中的一个重要特性,它允许运行时的代码检查、访问和修改其他代码的行为。在Visual Basic .NET中,反射提供了一种强大的机制,开发人员可以通过它动态地创建对象、调用方法、获取类型信息...
在探讨“简单的反射例子”这一主题时,我们深入解析了反射在C#中的应用,以及如何利用反射来访问和操作对象的属性。反射是.NET框架中的一个强大特性,它允许程序在运行时检查和调用类型的信息,包括类型、方法、属性...
"RefDemo"可能是一个示例项目,用于演示如何在实际应用中使用反射。 总的来说,掌握C#中的反射技术能够极大地增强代码的灵活性和可扩展性。通过深入理解和实践,开发者可以更好地理解和应对各种编程挑战,从而提升...
这个“VB.NET编程例子大全”压缩包可能包含了各种VB.NET编程的实例,帮助学习者理解并掌握VB.NET的基本概念、语法以及高级特性。 在VB.NET中,你可以学习到以下核心知识点: 1. **基本语法**:包括变量声明、数据...
《C#23实例.net_经典例子400个》是一个综合性的学习资源,它包含了.NET框架下C#编程语言的广泛示例,总计400个实例。这些实例覆盖了C#的基础语法、面向对象编程、数据访问、网络通信、多线程、图形界面设计等多个...
.NET反射是.NET Framework提供的一种强大的工具,它允许程序在运行时检查自身并操作其类型信息。这个例子将深入探讨如何使用反射来动态地创建对象、访问成员以及执行其他相关操作。我们将通过分析提供的文件列表来...
在这个“面向接口的反射例子”中,我们将深入探讨ASP.NET中的两个关键概念:面向接口编程和反射。 首先,面向接口编程(Interface-Oriented Programming, IOP)是面向对象编程的一种策略,它强调设计和实现时以接口...
在上面的例子中,我们使用ServiceDescription类下载WSDL数据,然后使用ServiceDescriptionImporter类创建和格式化WSDL文档文件。接着,我们使用CodeDom动态创建客户端代理类程序集。最后,我们使用反射调用相关...
"反射例子 reflector"这个主题深入浅出地展示了如何利用C#的反射功能来增强代码的灵活性和动态性。下面我们将详细探讨反射的概念、用途,以及如何在实际编程中运用。 首先,反射允许我们动态地获取类型信息。在C#中...
你可以通过NuGet包管理器安装`System.Data.SQLite`库,以方便在C#项目中使用SQLite数据库。 在这个例子中,`TsNetFourDBM`可能是一个包含数据库操作相关代码的类库或项目文件。在这个项目中,你将找到如何使用C#的...