根據物件的欄位名來訪問該欄位

2021-04-12 19:49:48 字數 784 閱讀 8574

很多朋友要根據某物件的欄位名來訪問該物件,這裡有個簡單的辦法:

public class obj

先在檔案開始處加上:using system.runtime.interopservices;

在其他函式中:

obj o = new obj();

type t = typeof(obj);

t.invokemember("id", bindingflags.setfield, null, o, new object );            //設定字段內容

int i = (int)t.invokemember("id", bindingflags.getfield, null, o, new object );        //獲取字段內容

invokemember函式:

object

invokemember (

string

name,

bindingflags

invokeattr,

binder

binder,

object

target,

object

args

)

其中bindingflags這個引數是個列舉型別,通過它的設定,不僅可以訪問物件的字段,還可以訪問物件的屬性和方法
object args就是傳送的引數,設定字段或者屬性的時候傳送需要設定的值,如果是訪問的方法,它就是該方法所需的引數

根據字段值 查詢 欄位名,表名

declare what varchar 800 set what bffc43e1 6646 434e b47d 0a32ac793b1c 要搜尋的字串 declare sql varchar 8000 declare tablecursor cursor local for select sql...

查詢表的欄位名

select name from syscolumns where id in select id from sysobjects where type u and name 相應表名 用以上sql語句輸入相應表名就可以查到表的欄位名,對應好資料庫 查詢是否存在該錶語句 if exists sele...

獲取資料視窗所有欄位的欄位名

int li value long ll i,ll rowcount string ls usrid,ls tooltip decimal ldc lastvalue ll rowcount dw 1.rowcount if ll rowcount 0 then return int li cnt,...