獲得乙個命名空間中所有的類等,並給類屬性付值。

2021-04-01 15:59:36 字數 1940 閱讀 9148

以下只是獲得命名空間中的類,  if t.isclass then

其他的你可以判斷,  if t.isvaluetype then結構, if t.isinte***ce介面

把這個命名空間中的類例項化:a.createinstance(t.fullname)

同樣你可以根據這個類,取得它其中有的屬性system.componentmodel.typedescriptor.getproperties(t)

也可以給屬性付值,也可以獲得事件:system.componentmodel.typedescriptor.getevents(t),

其他的看看msdn就知道了。

以下只作為參考:

private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load

dim dt as datatable

dt = getclassname("webcontrol")

for i as integer = 0 to dt.rows.count - 1

if dt.rows(i)(0).tostring.tolower = "textbox" then

call setclasspropertyvalue(dt.rows(i)(2), "text", "123")

end if

next

end sub

private function getclassname(byval namespacestr as string) as datatable

dim a as system.reflection.assembly

dim t as type

dim dt as datatable

dim dr as datarow

dt = new datatable

dt.columns.add(new datacolumn("classname"))

dt.columns.add(new datacolumn("classfullname"))

dt.columns.add(new datacolumn("instanceclass"))

a = system.reflection.assembly.load(namespacestr)

for each t in a.getexportedtypes

if t.isclass then

dr = dt.newrow

dr("classname") = t.name

dr("classfullname") = t.fullname

dr("instanceclass") = a.createinstance(t.fullname)

dt.rows.add(dr)

dt.acceptchanges()

end if

next

return dt

end function

private sub setclasspropertyvalue(byval t as type, byval propertystr as string, byval value as string)

dim cc as system.web.ui.controlcollection

dim pd as system.componentmodel.propertydescriptor

dim pdc as system.componentmodel.propertydescriptorcollection

pdc = system.componentmodel.typedescriptor.getproperties(t)

pd = pdc.find(propertystr, false)

pd.setvalue(t, value)

end sub

Confluence 檢視乙個空間中的所有頁面

所有的 confluence 頁面都會儲存在乙個空間中。你可以使用頁面檢視來檢視乙個空間的最近更新列表和所有頁面。希望訪問頁面檢視 進入頁面所在的空間,然後在辦理中選項頁面。或者,如果你使用的是文件主題的話,在螢幕的頂部選擇瀏覽 頁面 browse pages 空間中的近期更新的頁面和所有頁面的繼承...

在乙個專案中所有的Ajax功能用乙個頁面來實現

在乙個專案中用到了ajax非同步,需要由乙個aspx頁面的pageload事件來讀取後台資料,如果有多少個ajax功能就寫多少個頁面,不可取,可用乙個頁面來實現,如下 ajaxpage.aspx頁面 protected void page load object sender,eventargs e...

c 如何獲取某一命名空間下的所有的類的資訊

如果是當前下的。用assembly.getexecutingassembly gettypes 如果是外部dll,用assembly.load namespace gettypes 原理是反射,所以上面一定要加上using system.reflection 示例 var classes assem...