有没有办法在 Dart 中实现内部类?

Mat*_*ard 7 inner-classes dart flutter

//access to a Constant if it was like another language 
ImageWeather.Desktop.cloud; 
 
//What i wanted ( not working because there is no inner class)
class ImageWeather {
      class Desktop {
         static const String cloud = 'assets/images/DesktopCloud.png';
         static const String noCloud = 'assets/images/DesktopNoCloud.png';
         static const String rain = 'assets/images/DesktopRain.png';
   }  
      class Phone{
         static const String cloud = 'assets/images/PhoneCloud.png';
         static const String noCloud = 'assets/images/PhoneNoCloud.png';
         static const String rain = 'assets/images/PhoneRain.png';
   }
}

//access to a String like an inner class with new code
ImageWeather.desktop.cloud;


class ImageWeather {
   static final Desktop desktop = Desktop();
   static final Phone phone = Phone();
}

class Desktop {
   get cloud => 'assets/images/DesktopCloud.png';
   get noCloud => 'assets/images/DesktopNoCloud.png';
   get rain => 'assets/images/DesktopRain.png';
}
class Phone {
   get cloud => 'assets/images/PhoneCloud.png';
   get noCloud => 'assets/images/PhoneNoCloud.png';
   get rain => 'assets/images/PhoneRain.png';
Run Code Online (Sandbox Code Playgroud)

}

我目前正在学习 Dart,我发现我无法使用内部类。有没有办法在 Dart 中写类似内部类的东西?

Sim*_*onH 3

使用内部类是好是坏是主观的。不同的开发者会有不同的看法。

但是,如果您希望使DesktopPhone只对 可见ImageWeather,您可以在单个包中编写这三个类,并重命名“内部”类_Desktop_Phone,从而使它们只在该包中可见。