c中什麼是從後設資料c中從後設資料是什麼?後設資料又是什麼?

2021-03-05 09:22:00 字數 5875 閱讀 6126

1樓:匿名使用者

後設資料概述:

後設資料是一種二進位制資訊,用以對儲存在公共語言執行庫可移植可執行檔案 (pe) 檔案或儲存在記憶體中的程式進行描述。將您的**編譯為 pe 檔案時,便會將後設資料插入到該檔案的一部分中,而將**轉換為 microsoft 中間語言 (msil) 並將其插入到該檔案的另一部分中。在模組或程式集中定義和引用的每個型別和成員都將在後設資料中進行說明。

當執行**時,執行庫將後設資料載入到記憶體中,並引用它來發現有關**的類、成員、繼承等資訊。

後設資料以非特定語言的方式描述在**中定義的每一型別和成員。後設資料儲存以下資訊:

程式集的說明。

標識(名稱、版本、區域性、公鑰)。

匯出的型別。

該程式集所依賴的其他程式集。

執行所需的安全許可權。

型別的說明。

名稱、可見性、基類和實現的介面。

成員(方法、欄位、屬性、事件、巢狀的型別)。

屬性。修飾型別和成員的其他說明性元素。

2樓:匿名使用者

後設資料就是il**的二進位制資料

c#中從後設資料是什麼?後設資料又是什麼?

3樓:

就是.***裡描述資料的資料,比如最常見的就是把滑鼠放到系統定義的型別裡然後按f12就會開啟它的原型,但是不能去修改這些資料。那麼這些資料就稱為後設資料。

4樓:歸辰滑文

後設資料概述:

後設資料是一種二進位制資訊,用以對儲存在公共語言執行庫可移植可執行檔案(pe)

檔案或儲存在記憶體中的程式進行描述。將您的**編譯為pe檔案時,便會將後設資料插入到該檔案的一部分中,而將**轉換為microsoft

中間語言

(msil)

並將其插入到該檔案的另一部分中。在模組或程式集中定義和引用的每個型別和成員都將在後設資料中進行說明。當執行**時,執行庫將後設資料載入到記憶體中,並引用它來發現有關**的類、成員、繼承等資訊。

後設資料以非特定語言的方式描述在**中定義的每一型別和成員。後設資料儲存以下資訊:

程式集的說明。

標識(名稱、版本、區域性、公鑰)。

匯出的型別。

該程式集所依賴的其他程式集。

執行所需的安全許可權。

型別的說明。

名稱、可見性、基類和實現的介面。

成員(方法、欄位、屬性、事件、巢狀的型別)。

屬性。修飾型別和成員的其他說明性元素。

c#中的[從後設資料]是什麼意思?

5樓:匿名使用者

樓上說的不正確.

所謂後設資料.其實是指由微軟所封裝的類..這些類你可以檢視.但是無法修改..

例如你看dateset類的定義.就是後設資料.因為是ms寫的..只能看..不能改~

6樓:匿名使用者

樓上的才不對呢,自己寫的類照樣有後設資料

在.*** sdk中用ilda**.exe開啟一個.***下編譯的.dll或.exe檔案一看就知道了

開啟一個.dll/.exe檔案後ctrl+m,就能看到類似下面的內容。

可以認為這些就是後設資料

scopename : showisinterned.exe

mvid :

global functions

global fields

global memberrefs

typedef #1 (02000002)

typdefname: mydot***framework.showisinterned (02000002)

flags : [notpublic] [autolayout] [class] [ansiclass] [beforefieldinit] (00100000)

extends : 01000001 [typeref] system.object

method #1 (06000001) [entrypoint]

methodname: main (06000001)

flags : [private] [static] [hidebysig] [reuseslot] (00000091)

rva : 0x00002050

implflags : [il] [managed] (00000000)

call**vntn: [default]

returntype: void

no arguments.

implflags : [il] [managed] (00000000)

........

7樓:匿名使用者

就是編譯好的dll裡面的類

不一定是微軟的如果你引用其他的dll

8樓:匿名使用者

指的是說明資料型別的資料,

比如,說明一個class裡有什麼方法和成員,它們都是什麼型別,有什麼輸入、輸出引數等。

9樓:皇家空軍十六團

滿意回答其實不正確 正確的是除了滿意回答和排在第一個回答的以外的其他回答 呵呵

10樓:匿名使用者

類的封裝包的意思,可以呼叫介面,或者繼承來使用。目前大概意思是這樣,更深層次的,就只有去官網學習了。

c#從後設資料怎麼來,有什麼用

11樓:匿名使用者

引用別人的庫,但是沒有原始碼,只能顯示從後設資料。有原始碼就自己找吧,有時候會出現這種情況

12樓:金榜題名

你轉到的是別人編譯好的dll檔案,不能直接檢視源**,可以用

reflector 反編譯器 檢視

13樓:城西之光

那是別人編譯好的**庫,可以找到所引用的dll**庫反編譯檢視

14樓:草薙在

就是讀取meta data來的 不是從object bowser裡面的

15樓:匿名使用者

那是資料型別!~你聲名他就好用了

c#從後設資料是什麼意思

16樓:吞吞的吐吐樂園

樓上說的不正確. 所謂後設資料.其實是指由微軟所封裝的類..

這些類你可以檢視.但是無法修改.. 例如你看dateset類的定義.

就是後設資料.因為是ms寫的..只能看..

不能改~

c#中的後設資料是指什麼

17樓:匿名使用者

可以理解為編譯封裝好的dll類。

只能呼叫,看,不能編輯。。

如最基礎的:

datetime dt=datetime.now;

這裡datetime就是後設資料。。

.now就是其中的一個返回方法。。

.*** 裡的 的 「從後設資料」 是什麼意思 ? 後設資料又是怎麼意思 ?怎麼檢視 定義的內容

18樓:匿名使用者

所謂「從後設資料」實是指由微軟所封裝的類..這些

類你可以檢視.但是無法修改..

例如你看string類的定義.就是從後設資料.因為是ms寫的..只能看..不能改。

後設資料(meta data)是關於資料倉儲的資料,指在資料倉儲建設過程中所產生的有關資料來源定義,目標定義,轉換規則等相關的關鍵資料。同時後設資料還包含關於資料含義的商業資訊,所有這些資訊都應當妥善儲存,並很好地管理。為資料倉儲的發展和使用提供方便。

後設資料是一種二進位制資訊,用以對儲存在公共語言執行庫可移植可執行檔案 (pe) 檔案或儲存在記憶體中的程式進行描述。將您的**編譯為 pe 檔案時,便會將後設資料插入到該檔案的一部分中,而將**轉換為 microsoft 中間語言 (msil) 並將其插入到該檔案的另一部分中。在模組或程式集中定義和引用的每個型別和成員都將在後設資料中進行說明。

當執行**時,執行庫將後設資料載入到記憶體中,並引用它來發現有關**的類、成員、繼承等資訊。

後設資料以非特定語言的方式描述在**中定義的每一型別和成員。後設資料儲存以下資訊:

程式集的說明。

標識(名稱、版本、區域性、公鑰)。

匯出的型別。

該程式集所依賴的其他程式集。

執行所需的安全許可權。

型別的說明。

名稱、可見性、基類和實現的介面。

成員(方法、欄位、屬性、事件、巢狀的型別)。

屬性。修飾型別和成員的其他說明性元素。

一、後設資料的優點

對於一種更簡單的程式設計模型來說,後設資料是關鍵,該模型不再需要介面定義語言 (idl) 檔案、標頭檔案或任何外部元件引用方法。後設資料允許 .*** 語言自動以非特定語言的方式對其自身進行描述,而這是開發人員和使用者都無法看見的。

另外,通過使用屬性,可以對後設資料進行擴充套件。後設資料具有以下主要優點:

自描述檔案。

公共語言執行庫模組和程式集是自描述的。模組的後設資料包含與另一個模組進行互動所需的全部資訊。後設資料自動提供 *** 中 idl 的功能,允許將一個檔案同時用於定義和實現。

執行庫模組和程式集甚至不需要向作業系統註冊。結果,執行庫使用的說明始終反映編譯檔案中的實際**,從而提高應用程式的可靠性。

語言互用性和更簡單的基於元件的設計。

後設資料提供所有必需的有關已編譯**的資訊,以供您從用不同語言編寫的 pe 檔案中繼承類。您可以建立用任何託管語言(任何面向公共語言執行庫的語言)編寫的任何類的例項,而不用擔心顯式封送處理或使用自定義的互用**。

二、屬性。

.*** framework 允許您在編譯檔案中宣告特定種類的後設資料(稱為屬性)。在整個 .

*** framework 中到處都可以發現屬性的存在,屬性用於更精確地控制執行時您的程式如何工作。另外,您可以通過使用者定義的自定義屬性向 .*** framework 檔案發出您自己的自定義後設資料。

有關更多資訊,請參見利用屬性擴充套件後設資料。

三、後設資料的意義

說到後設資料的意義,可以從其應用目的來談的。雖然做資料倉儲言必稱後設資料,必稱技術、業務後設資料,但其到底用於何處?離開了目標去談後設資料,就發現後設資料包含太多的東西,因為他是描述資料的資料嘛。

還是那客戶關係系統來比喻,這個系統維護客戶資訊當然是有目的的,是要用這些資訊進行一些自動的流程處理、去挖掘一些客戶潛在的價值、做好客戶服務。當然沒有必要去維護客戶的生命特徵資訊,諸如指紋、犯罪史等,這些資訊跟客戶關係管理的目標關係不大。後設資料也是如此,你可以將所以資料的結構、大小、什麼時間建立、什麼時間消亡、被那些人使用等等,這些資訊可以延伸得太廣,如果不管目標,而試圖去建一個非常完美的後設資料管理體系,這是一種絕對的 "自上而下 "做法,必敗無疑。

19樓:匿名使用者

你好,你檢視到的「後設資料」是.***的標準庫,或者是第三方編寫的動態庫,因為你沒有**,所以你無法看到具體實現的細節,而只能夠看到公關的方法,屬性等,而且「不可編輯」。

20樓:匿名使用者

上面的說的很詳細了!

c#裡面from metadata什麼意思?

21樓:丿曉楓丶

是從後設資料,所謂後設資料.其實是指由微軟所封裝的類..這些類你可以檢視.但是無法修改..

例如你看dateset類的定義.就是後設資料.因為是ms寫的..只能看..不能改

22樓:南宮北殿

from metadata是從後設資料

c# 怎麼把自定義類弄成從後設資料

23樓:匿名使用者

...你編譯一下,然後在別的地方引用生成的dll檔案不就行了嗎?

C 中如何讀取中的座標資料,C 中如何讀取txt文件中的座標資料?

include include inline bool check double const x int main int const arc,char const arg std ifstream file arg 1 if file int num double x,y,z int cnt 0 ...

C中如何在類中呼叫另類中的資料,C 中 如何在一個類中 呼叫另一個類中的資料?

c 窗體間傳遞資料有好多種方法,說下個簡單的 在要呼叫的窗體中新增被呼叫窗體欄位,構造方法中傳入被呼叫的窗體做引數,將被呼叫窗體的需要被呼叫的資料的訪問修飾符設定為 public 將form1的 listbox 的訪問修飾符設定為 public這樣就可以通過欄位.屬性 呼叫被呼叫窗體的資料了 pub...

c如何讀取資料庫中table裡面的資料

你可以用gridview,等資料來源控制元件啊 寫下sql 語句就好了啊 我通常用sqlserver2000s比如資料庫 寫個sql語句,select from table 就能讀出表裡全部資料了 private dataset dbconnection string databaseconnect...