structlayout

    0熱度

    1回答

    我想在C#中創建下面的結構,它是一個基於C的複雜結構,我嘗試了大部分編組選項,但我總是得到'System。 TypeLoadException」。 (附加信息:無法從程序集'WindowsFormsApplication1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'加載'WindowsFormsApplication1.CO

    5熱度

    3回答

    我聲明的功能Process32FirstW和結構PROCESSENTRY32W這樣的: [DllImport("KERNEL32.DLL", CallingConvention = CallingConvention.StdCall, EntryPoint = "Process32FirstW")] private static extern bool Process32FirstW (IntP

    0熱度

    2回答

    我必須定義一個結構與不安全的代碼一起工作,所以我必須設置每個字段的FieldOffset值。但是我無法定義指針的大小。下面是代碼: [StructLayout(LayoutKind.Explicit)] public struct SomeStructO { public SomeStructO(int theNumber) { TheNumber = theN

    2熱度

    1回答

    我曾經寫過一張code to add a name to a Task。下面的代碼似乎也是這樣做的,但代碼更少。但我想知道,這是否合法。它是否準備好生產代碼?垃圾收集呢?那麼如何在代碼中移動類的實例(因爲它沒有固定)呢,當它移動時它仍然可以工作嗎?我怎樣才能把這段代碼加入測試? using System.Runtime.InteropServices; namespace ConsoleApp

    12熱度

    1回答

    結構System.DateTime及其表親System.DateTimeOffset的結構佈局類型設置爲「自動」。這可以看作與: typeof(DateTime).IsAutoLayout /* true */ 或: typeof(DateTime).StructLayoutAttribute.Value /* Auto */ ,或者它可以從其中聲明瞭IL中可以看出: .class pub

    0熱度

    1回答

    我想從服務器發送一個緩衝區到我自己創建的客戶端。它適用於TCP上的套接字。 我有一個結構,我需要發送: [StructLayout(LayoutKind.Sequential, Pack = 1)] struct loginStruct { public string userName; public string password; public login

    2熱度

    1回答

    我想生成C#sqrt基準測試,但某些sqrt函數需要按位計算的聯合。 我工會的定義是: [StructLayout(LayoutKind.Explicit)] struct U { [FieldOffset(0)] public int i; [FieldOffset(0)] public float x; } 和下一個代碼生成上u.i未分配領域的

    0熱度

    1回答

    C#默認平臺調用對方法參數和結構字段字符串使用ANSI編組。 System.Runtime.InteropServices包含一個屬性「DefaultCharset」以將其更改爲Unicode。 從MSDN:「在程序集級別或模塊級別應用DefaultCharSetAttribute屬性,爲任何不包含用戶指定的CharSet命名參數的DllImportAttribute調用設置CharSet值。 我

    -1熱度

    1回答

    我已經使用PtrToStructure函數(在VB.NET中)從一個有效指針中提取了成功的結構對象,但某些對象成員的結果不正確(與C++示例相比): 代碼: StructLayout(LayoutKind.Explicit, pack:=1, CharSet:=CharSet.Ansi)> _ Public Structure MyStruct <FieldOffset(0

    0熱度

    1回答

    我已經用成功的結構對象從一個有效的指針使用PtrToStructure函數(在vb.NET)中提取,問題是字段「FrameRects」具有無效值與從C++樣本獲得的值相比較: 的vb.NET代碼是: StructLayout(LayoutKind.Explicit,包:= 1,字符集:= CharSet.Ansi)> _ 「 Public Structure myStruct <Fiel