C 高階程式設計之「反射」

2021-04-09 04:23:04 字數 1304 閱讀 6541

一,定義

反射技術,能夠讓託管**在執行時檢視元資料以及**的各方面資訊。

二,常用方法

1,獲取物件方法(必須以public修飾的方法,不包括建構函式);

2,獲取物件屬性;

3,獲取物件的父類;

附示例**:

using

system;

using

system.collections.generic;

using

system.text;

using

system.reflection;

///

///基類

///

public

class

base

///

///繼承base的子類

///

public

class

child : base

public

int num

set }

//

在獲取物件方法時,非public修飾的方法是無法取得的,但包括建構函式

private

void testmethod1()

public

void testmethod2()

}

public

class

program

// 獲取物件屬性

propertyinfo propertys = ctype.getproperties();

console.writeline("

屬性列表:");

foreach (propertyinfo ps in propertys )

//

獲取物件基類

system.type parent = ctype.basetype;

console.writeline("

物件層次結構:");

console.write(ctype .fullname );

while (parent !=null )

console.read(); }

}

執行結果:

方法列表:

get_num

set_num

testmethod2

gettype

tostring

equals

gethashcode

屬性列表:

num

物件層次結構:

child->base->object 

Python程式設計之 類反射

python中的反射功能是由以下四個內建函式提供 hasattr getattr setattr delattr,該四個函式分別用於對物件內部執行 檢查是否含有某成員 獲取成員 設定成員 刪除成員。class foo object def init self self.name hongsong s...

高階程式設計之 socker程式設計

用來標記網路上的一台電腦 window ifconfiglinux ipconfig1 1 3 1.ipv4 被廣泛使用的 ip協議的版本號是4 當前再用,目前被廣泛應用 ipv4的位址位數為32位 4位位元組 位址有限,幾乎全部耗盡 1 1 3 2.ipv6 ip協議的版本號是6 ipv6的位址位...

學習C 高階程式設計之檔案操作

對檔案和資料夾進行操作 using system using system.collections.generic using system.io using system.linq using system.text using system.threading.tasks namespace 0...