質問編集履歴

3

a

2018/02/28 08:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  // stringはパターンが少ないので個別に分岐
36
36
 
37
- ret += System.Text.Encoding.ASCII.GetBytes((string)dictionary[x.Key]);
37
+ ret += System.Text.Encoding.ASCII.GetBytes((string)x.Value);
38
38
 
39
39
  }
40
40
 
@@ -42,11 +42,11 @@
42
42
 
43
43
  {
44
44
 
45
- var type = dictionary[x.Key].GetType();
45
+ var type = x.Value.GetType();
46
46
 
47
47
  // ここでキャストを行わないと落ちる ↑のtypeを使用してキャストしたい
48
48
 
49
- ret += BitConverter.GetBytes(dictionary[x.Key]);
49
+ ret += BitConverter.GetBytes(x.Value);
50
50
 
51
51
  }
52
52
 

2

2018/02/28 08:17

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,7 @@
63
63
  実際の`Dictionary`の要素数は300以上あり、そのうち`string`の値は10件にも満たないのですべて列挙し`if`で分岐させています。
64
64
 
65
65
  数値型のほうが正しくキャストできていないと堕ちてしまうのでどうにかキャストを試みたのですが`ChangeTyep()`にしか検索に引っかかりませんでした。
66
+
67
+
68
+
69
+ 上のような流れで型が不定の`object`を動的にキャストできる方法はありませんでしょうか

1

2018/02/28 08:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  var type = dictionary[x.Key].GetType();
46
46
 
47
- // ここでキャストを行わないと落ちる
47
+ // ここでキャストを行わないと落ちる ↑のtypeを使用してキャストしたい
48
48
 
49
49
  ret += BitConverter.GetBytes(dictionary[x.Key]);
50
50