.Net Framework 4.5アプリの 3.5への移植
key = string.Join(",", from n in item.Take(num).Select((string s, int i) => new { Content = s, Index = i }) where !ReplaseList.Contains(n.Index) select n.Content); |
エラー1 'string.Join(string, string[])' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
エラー2 引数 '2': 'System.Collections.Generic.IEnumerable
key = string.Join(",", (string[])(from n in item.Take(num).Select((string s, int i) => new { Content = s, Index = i }) where !ReplaseList.Contains(n.Index) select n.Content).ToArray()); |
string[]にキャストしても動作しないので、 ToArray() で変換してから処理する
ItemData itemData = Marshal.PtrToStructure<HedData>(ptr); |
エラー1 非ジェネリック メソッド 'System.Runtime.InteropServices.Marshal.PtrToStructure(System.IntPtr, object)' は型引数と一緒には使用できません。
ItemData itemData = (ItemData)Marshal.PtrToStructure |
多分この形式が使えないだけ
public DLLPtr(IntPtr intPtr, string libName) { ptr = intPtr; name = libName; } |
エラー1 自動的に実装されたプロパティ 'dLLLoader.DLLPtr.Name' のバッキング フィールドは、コントロールが呼び出し元に返される前に完全に割り当てられている必要があります。コンストラクタ初期化子から既定のコンストラクタを呼び出すことを検討してください。
public DLLPtr(IntPtr intptr, string dllname) : this() { Ptr = intptr; Name = dllname; } |
明示的に呼び出す必要があり
Comments