Dart
1class AAA{ 2 static int a=1; 3 static int b=2; 4 5 int c=3; 6 int d=4; 7} 8 9void main(){ 10 11 print(AAA.a); //1 12 print(AAA.b); //2 13 14 String strA='a'; 15 String strB='b'; 16 print(AAA.strA); //←エラー 17 18 19 AAA aaa1=AAA(); 20 print(aaa1.c); //3 21 22 String strC='c'; 23 print(aaa1.strC); //←エラー 24}
インスタンスフィールドでもクラスフィールドでもどちらでも良いのですが、
上記の例で言うと、クラスフィールドの場合、AAAクラスはクラス(Static)フィールドaとbを持っていて、
AAA.a
AAA.b
のようにすればクラスフィールドにアクセスできるのですが、文字列で
strA='a'
のように変数strAが文字列'a'を受け取った時に、そのstrAを使ってクラスフィールド
AAA.a
にアクセスするにはどうしたら良いでしょうか?
同様にstrCで文字列'c'を受け取った時にインスタンスフィールド
aaa1.c
にアクセスする方法はありますでしょうか?
一般化しましたが、具体的な事象としてはFlutterでColorsクラスを使って
Colors.red
のように指定すれば色を指定できるのですが、
例えば文字列'red'を受け取って、Colors型のインスタンス
Colors.red
を返したい、それを使いたい、という状況で詰まりました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/06 00:00