程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .net 取得類的屬性、方法、成員及通過屬性名取得屬性值,.net屬性值

.net 取得類的屬性、方法、成員及通過屬性名取得屬性值,.net屬性值

編輯:C#入門知識

.net 取得類的屬性、方法、成員及通過屬性名取得屬性值,.net屬性值


//自定義的類 model m = new model();   //取得類的Type實例 //Type t = typeof(model);    //取得m的Type實例 Type t = m.GetType();    string className = t.Name +"\r\n";    //獲取所有方法  System.Reflection.MethodInfo[] methods = t.GetMethods();    //獲取所有成員 System.Reflection.MemberInfo[] members = t.GetMembers();    //獲取所有屬性  System.Reflection.PropertyInfo[] properties = t.GetProperties();    //取得類的屬性名並獲取屬性值 foreach (System.Reflection.PropertyInfo s in t.GetProperties()) {     className  += s.Name + ":" + m.GetType().GetProperty(s.Name).GetValue(m, null).ToString() + "\r\n"; }

C++遍歷獲得一個類的所有屬性名,對該類的實例的所有屬性的值

.NET的反射機制是很有特色的,VB,C#,VC語言都支持。
通過反射機制,可以輕而易舉枚舉出一個類的各種信息,除了屬性外,還可以獲得構造器、方法、字段等各種信息,類型可以是公共的,非公共的,實例化的,靜態的各種屬性、方法等。
這裡給出一段VC.NET的實例代碼:
using namespace System;
using namespace System::Reflection;

//定義測試用的類 Student
public ref class Student
{
private:
String^ name;
Int32 number;
String^ address;

public:
Student(String^ name, String^ address, Int32 number)
{
this->name = name;
this->address = address;
this->number = number;
}

property String^ Name
{
String^ get()
{
return name;
}
void set(String^ value)
{
name = value;
}
}

property Int32 Number
{
Int32 get()
{
return number;
}
void set(Int32 value)
{
number = value;
}
}

protected:
property String^ Address
{
String^ get()
{
return address;
}
void set(String^ value)
{
address = value;
}
}
};

void DisplayPropertyInfo(Student^ student, array<PropertyInfo^>^ properties);
int main(array<System::String ^> ^args)
{
Student^ student = gcnew Student("Alice", "No.193, St.Robinson, NY, USA", 1);
student->Name = "Alice.Caley";
student->Number = 2;
Console::WriteLine(student->Name);
Console::WriteLine(student->Number);
Console::WriteLine();

//反射
Type^ type = student->GetType();

//公共實例屬性
array<PropertyInfo^>^ publicProperties = type->GetProperties(static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Instance));
Console::WriteLine("[Display public property info]");
DisplayPropertyInfo(student, publicProperties);
Cons......余下全文>>
 

對於net中 對象,屬性,方法

nodes 是treeview對象的一個屬性 但是這個屬性是一個集合 裡面容納了很多元素 每一個元素 又是一個treenode類型的對象

這個語句 就是將一個treenode 類型的對象 node1 添加到 他的nodes集合裡面
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved