Guid結構
閒言不敘,上官方猛料如下述:
小結:
guid全域性唯一識別符號,16個位元組,128位之長.
小結:
guid全域性唯一識別符號,16個位元組,128位之長.
using System; using System.Runtime.InteropServices; // Guid for the interface IMyInterface.
//[Guid]("GUID值") 此為介面imyinterface的guid值
[Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")] interface IMyInterface { void MyMethod(); } // Guid for the coclass MyTestClass.
//同上理
[Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")] public class MyTestClass : IMyInterface { // Run regasm on this assembly to create .reg and .tlb files. // Reg file can be used to register this coclass in the registry. // Tlb file will be used to do interop. public void MyMethod() {} public static void Main( string []args ) { // Example addresses the following in System.Runtime.InterOpServices.GuidAttribute. // How to specify the attribute on interface/coclass. // Retrieve the GuidAttribute from an interface/coclass. // Value property on GuidAttribute class. // Example addresses the following in System.Guid. // Constructor Guid(string). // Constructor Guid(ByteArray). // Equals. // perator ==. // CompareTo. //attribute類物件
//attribute zxy=attribute,getcustomattribute(typeof(型別名稱),typeof(guidatrribute))
Attribute IMyInterfaceAttribute = Attribute.GetCustomAttribute( typeof( IMyInterface ), typeof( GuidAttribute ) ); // The Value property of GuidAttribute returns a string. //顯示介面imyinterface的guid值
//(guidattribute)(imyinterfaceattribute).value
System.Console.WriteLine( "IMyInterface Attribute: " + ((GuidAttribute)IMyInterfaceAttribute).Value ); // Using the string to create a guid.
//基於以上介面imyinterface的guid建立一個guid物件
guid myguid=new guid((guidattribute)imyinterfaceattribute).value)
Guid myGuid1 = new Guid( ((GuidAttribute)IMyInterfaceAttribute).Value ); // Using a byte array to create a guid. Guid myGuid2 = new Guid ( myGuid1.ToByteArray() );
//下述不再細述,主要使用equals及==和compare,compareto相關方法比較上面
//新建的兩個guid物件的值
// Equals is overridden and so value comparison is done though references are different. if ( myGuid1.Equals( myGuid2 ) ) System.Console.WriteLine( "myGuid1 equals myGuid2" ); else System.Console.WriteLine( "myGuid1 not equals myGuid2" ); // Equality operator can also be used to determine if two guids have same value. if ( myGuid1 == myGuid2 ) System.Console.WriteLine( "myGuid1 == myGuid2" ); else System.Console.WriteLine( "myGuid1 != myGuid2" ); // CompareTo returns 0 if the guids have same value. if ( myGuid1.CompareTo( myGuid2 ) == 0 ) System.Console.WriteLine( "myGuid1 compares to myGuid2" ); else System.Console.WriteLine( "myGuid1 does not compare to myGuid2" ); System.Console.ReadLine(); //Output. //IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4 //myGuid1 equals myGuid2 //myGuid1 == myGuid2 //myGuid1 compares to myGuid2 } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-707522/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GUID轉換GUI
- 使用Flex生成GUIDFlexGUI
- 專案問題總結2:GUID區分大小寫嗎?GUI
- [OARCLE]在Oracle中生成GUID型別--SYS_GUID()函式OracleGUI型別函式
- 7.56 CON_GUID_TO_IDGUI
- 關於suid/guidGUI
- GUID UUID in Java SummaryGUIJava
- ORA-65122: Pluggable database GUID conflicts with the GUID of an existingDatabaseGUI
- guid格式如何裝win10_guid格式裝win10的詳細教程GUIWin10
- [20200103]GUID轉換GUID_BASE64.txtGUI
- win10用mbr還是guid 系統分割槽選MBR還是GUIDWin10GUI
- UUID和GUID的區別GUI
- js生成GUID程式碼例項JSGUI
- UUID 和 GUID 的區別GUI
- 結構化與非結構化
- 結構
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- 結構體中套用其他_結構體結構體
- Oracle體系結構之-物理結構Oracle
- 順序結構與選擇結構
- JavaScript生成GUID統一識別符號JavaScriptGUI符號
- 生成GUID的一個很不錯的方法GUI
- 前端資料結構--線性結構-連結串列前端資料結構
- 資料結構知識點--儲存結構與邏輯結構資料結構
- 樹結構總結
- win10 guid分割槽怎麼用ghost備份_win10 guid分割槽如何用ghost備份Win10GUI
- Redis資料結構—連結串列與字典的結構Redis資料結構
- 七、基本資料結構(樹形結構)資料結構
- python分支結構與迴圈結構Python
- JavaScript分支結構(判斷結構)使用教程JavaScript
- JavaScript中的程式結構和分支結構JavaScript
- 資料結構學習之樹結構資料結構
- 3:Oracle體系結構(邏輯結構)Oracle
- C 結構
- MCV結構
- 程式結構
- web結構Web
- 棧結構