C 解析窗體控制項物件屬性(物件屬性)

2021-10-10 10:59:45 字數 1517 閱讀 9001

1.需求

獲取form窗體中表控制項及其屬性。

2.需求分析

接到這個需求,首先考慮使用「反射」實現。但這裡主程式(解析程式)為外部程式,被解析物件為專案**,嘗試採用過「動態載入類檔案」+「反射」的形式實現,

但遇到了更加棘手的問題,以致功能交期愈加遙遙無期。遂採用「正則表達解析**」,簡單粗暴,以下為關鍵的正規表示式與大家分享解決思路。

3.解決方案

3.1.獲取窗體名

(?<=this.name = )\s*(?=;)

3.2.匹配dbgrid名字

(?<=private wbf\.controls\.dbgrid\s+)\w*

「private wbf.controls.dbgrid」開頭,空格若干,最近的乙個單詞字元

3.3.匹配dbgrid所有屬性

(this\.dbgrid1\.\w+[^;]*)(?=\;)

滿足「this.dbgrid1.」開頭,緊接至少乙個單詞,其後除「;」任意字元若干,並且末尾是分號 的範圍字元

3.4.取gridcolumn名

(?<=private devexpress\.xtragrid\.columns\.gridcolumn\s+)\w*

3.5.獲取gridcolumn屬性值

(this\.\.\w+[^;]*)

附件正規表示式封裝類

public class regexhelper

return l_liststring;

}///

/// 匹配返回dictionary

///

/// 正規表示式

/// 匹配文字

///

public dictionaryregexfordictionary(string a_strpattern,string a_txtcontext)

}return l_dicresult;

}///

/// 匹配返回bool

///

/// 正規表示式

/// 匹配文字

///

public bool regexforbool(string a_strpattern,string a_txtcontext)

///

/// 匹配返回string

///

/// 正規表示式

/// 匹配文字

///

public string regexforstring(string a_strpattern,string a_txtcontext)

return "";}}

標籤屬性 物件屬性

doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head div1 title qqqqq 123123 div checkbox name id ck 標籤屬性 物...

C 物件導向 屬性

一 屬性 property 作為類和結構的成員,是對字段的一種封裝方式,實際上是一種特殊的方法,被稱為訪問器 accessor 從而隱藏實現和驗證 有助於提高字段讀取和賦值的安全性和靈活性 1.屬性訪問器包含兩種型別 用於讀取並返回值的get訪問器,用於賦值新值的set屬性訪問器 通常將字段宣告為私...

C 物件導向 屬性

一 屬性 property 作為類和結構的成員,是對字段的一種封裝方式,實際上是一種特殊的方法,被稱為訪問器 accessor 從而隱藏實現和驗證 有助於提高字段讀取和賦值的安全性和靈活性 1.屬性訪問器包含兩種型別 用於讀取並返回值的get訪問器,用於賦值新值的set屬性訪問器 通常將字段宣告為私...