文字列にして、INI ファイルに Key=Value の Value として登録するために 関数を2つ作りました。 byte[] の状態まではうまく変換できたのですが、 String にすると変換できずにエラーメッセージが出てきたので byte[] → string か、byte[] → dynamic のどちらかで 何かがおかしいのかと思ったのです。 現状では Value に DataTable型 のデータを指定しています。 private string DynamicToString(dynamic Value) { // dynamic → byte[] MemoryStream sstream = new MemoryStream(); IFormatter formatter = new BinaryFormatter(); formatter.Serialize(sstream, Value); // byte[] → string string strvalue = ""; for (int isnum = 0; isnum < sstream.ToArray().Length; isnum++) strvalue += (char)sstream.ToArray()[isnum]; return (strvalue); } private dynamic StringToDynamic(string Value) { try { if (Value == "") return (null); // string → byte[] byte[] valuearray = new byte[Value.Length]; for (int inum = 0; inum < Value.Length; inum++) valuearray[inum] = (byte)Value[inum]; // byte[] → dynamic MemoryStream dstream = new MemoryStream(valuearray); IFormatter formatter = new BinaryFormatter(); return (formatter.Deserialize(dstream)); } catch(Exception ex) { MessageBox.Show(ex.Message); return (null); } }
- Child Tree -