首页 > 解决方案 > Dart - 返回字符串,而不是类的实例

问题描述

我是 Flutter/programming 的新手,无法解决这个问题,不胜感激。只是试图返回一天的名称,即。2 = 星期二

String dayname = dayGetter(day).toString();

  dayGetter(int daynumber){
   var daynames = ['none','Mon','Tue','Wed','Thur','Fri','Sat','Sun'];
   return daynames[daynumber];
  }

这很好用,但我想将函数分离到它自己的文件中。

String dayname = NumberToDay(daynumber: day).toString();

.

 class NumberToDay {

      final int daynumber;
      NumberToDay({this.daynumber});

      var daynames = ['n/a','Mon','Tue','Wed','Thur','Fri','Sat','Sun'];

     test(){
       return daynames[daynumber];
      }
 }

但这会返回:“NumberToDay”的实例,我不知道为什么或如何解决它。

谢谢

标签: dart

解决方案


您缺少类方法调用,而是调用类的toString()方法,这确实会打印其实例名称。只需创建对象的一个​​实例,然后调用它的方法。

NumberToDay myObjectInstance = NumberToDay(daynumber: day);
String dayName = myObjectInstance.test();
print(dayName); // should print correctly

如果您想要更直接的方法,您可以只调用该方法而不保留对象引用。

String dayName = NumberToDay(daynumber: day).test();

推荐阅读