
C#2.0を試用しています。
次のような書き方ではプリミティブ型は取得できるのですが、
配列のフィールドは取得できないので、
なんとかして取得する方法はないのでしょうか?
public class MasterClass
{
public int a = 2;
public int[] b = new int[] { 1, 2 };//←取得できない
}
Object obj = new TestClass();
Type type = obj.GetType();
foreach (FieldInfo fi in type.GetFields())
{
object tmp = fi.GetValue(obj);
Console.WriteLine(fi.Name + ":" + tmp);
}
System.Console.ReadLine();
No.1ベストアンサー
- 回答日時:
配列かどうかは tmp.GetType().IsArrayで判断できますよ
foreach (FieldInfo fi in type.GetFields())
{
object tmp = fi.GetValue(obj);
if ( tmp.GetType().IsArray )
{
int n = 0;
foreach( object temp in (Array)tmp )
{
Console.WriteLine(fi.Name + "[" n "]:" + temp);
n++;
}
}
else
{
Console.WriteLine(fi.Name + ":" + tmp);
}
}
といった具合で
ご返答ありがとうございます。
まず、訂正があります。
public class MasterClass
ではなくて
public class TestClass
でした。すいません。
なるほど、キャストしてforeachで調べれば分かるわけですね。
試してみてできました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[エクセル]連続する指定範囲か...
-
エクセルで、絶対値の平均を算...
-
ExcelのINDEXとMATCH関数でスピ...
-
表にフィルターをかけ、絞った...
-
DataSetから、DataTableを取得...
-
配列のSession格納、及び取得方...
-
array関数で格納した配列の型を...
-
VBAの変数について
-
iniファイルのキーと値を取得す...
-
Excel オートフィルタのリスト...
-
2次元配列への格納方法について
-
ノーツのデータをVBScriptで取...
-
Excelのセルの色指定をVBAから...
-
エクセルでエラーを無視して一...
-
.NET - 配列変数を省略可能の引...
-
【VBA】ユーザーフォーム リス...
-
VBA listBoxについて
-
INDEX(D:D,L3)の意味は?
-
VBAで指定期間の範囲を抽出し、...
-
SUMPRODUCT関数を用いた最小値
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、絶対値の平均を算...
-
[エクセル]連続する指定範囲か...
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのセルの色指定をVBAから...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
array関数で格納した配列の型を...
-
読み込みで一行おきに配列に格納
-
.NET - 配列変数を省略可能の引...
-
【VBA】ユーザーフォーム リス...
-
配列がとびとびである場合の書き方
-
SUMPRODUCT関数を用いた最小値
-
iniファイルのキーと値を取得す...
-
VBAでの100万行以上のデータの...
-
エクセルでエラーを無視して一...
-
配列のSession格納、及び取得方...
-
VBA 配列に格納した値の平均の...
-
VB6.0 ファイルの一括読込み
-
Datatableへの代入
おすすめ情報