ショートバージョン -
未知の配列(UInt16[]、string[] など)のインスタンスを含むオブジェクト型の変数を取り、それを配列として扱う簡単な方法はありますか。たとえば、call String.Join(",", obj)カンマ区切りの文字列を生成するには?
些細なこと?私もそう思いました。
次の点を考慮してください。
object obj = properties.Current.Value;
obj にはさまざまなインスタンスが含まれる場合があります。たとえば、UInt16[]、string[] などの配列です。
obj をそのままの型として扱いたい、つまり、不明な型へのキャストを実行します。それを達成した後、通常どおり続行できます。つまり、次のとおりです。
Type objType = obj.GetType();
string output = String.Join(",", (objType)obj);
もちろん、上記のコードは機能しません (objType が不明です)。
これもありません:
object[] objArr = (object[])obj; (Unable to cast exception)
明確にするために、オブジェクトを配列に変換しようとしているわけではありません(すでに配列のインスタンスです)。オブジェクトを1つとして扱うことができます。
ありがとうございました。