- 相關(guān)推薦
.net學(xué)習(xí)心得
1.反射:反射是.net中的重要機(jī)制,通過(guò)反射可以在運(yùn)行時(shí)獲得.net中每一個(gè)類(lèi)型,包括類(lèi)、結(jié)構(gòu)、委托和枚舉的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等,
.net學(xué)習(xí)心得
。有了反射,既可以對(duì)每一個(gè)類(lèi)型了如指掌。下面來(lái)演示一下反射的實(shí)例
(1)新建一個(gè)類(lèi)庫(kù)項(xiàng)目。在解決方案上單擊右鍵選擇添加“新建項(xiàng)目”,在彈出來(lái)的框中選擇“類(lèi)庫(kù)”,在下面名字欄中輸入classlib。然后刪除class1類(lèi),新添加一個(gè)類(lèi)“classperson”,添加如下代碼:
namespace classlib
{
public class classperson
{
public classperson():this(null)
{
}
public classperson(string strname)
{
name = strname;
}
private string name;
private string sex;
private int age;
public string name
{
get { return name; }
set { name = value; }
}
public string sex
{
get { return sex; }
set { sex = value; }
}
public int age
{
get { return age; }
set { age = value; }
}
public void sayhello()
{
if (null==name)
console.writeline("hello world");
else
console.writeline("hello," + name);
}
}
}
添加完之后編譯生成一下,就會(huì)在這個(gè)類(lèi)庫(kù)項(xiàng)目中的bin\debug中有一個(gè)classlib.dll文件,
資料共享平臺(tái)
《.net學(xué)習(xí)心得》(http://www.lotusphilosophies.com)。然后添加一個(gè)控制臺(tái)應(yīng)用程序。引入system.reflaction的命名空間。添加的代碼如下:using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.reflection;//添加反射的命名空間
namespace consoleapplication4
{
public class program
{
static void main(string[] args)
{
console.writeline("列出程序集中的所有類(lèi)型");
assembly ass = assembly.loadfrom("classlib.dll");
type[] mytype = ass.gettypes();
type classperson = null;
foreach (type p in mytype)
{
console.writeline(p.name);
if (p.name=="classperson")
{
【.net學(xué)習(xí)心得】相關(guān)文章:
net筆試題目答案06-30
一套.net筆試題08-17
ASP.NET如何防止SQL注入09-01
ASP.NET筆試題小匯總10-24
凡客誠(chéng)品.NET筆試題目10-16
新蛋科技.net工程方面的筆試題06-28
廣州某公司的asp.net筆試題09-29