一切扩展方法

问题描述

我想处理每个类型对象的空值检查, 所以我写了像 C#

这样的扩展方法
  extension ObjectExtension on Object {
  /// Returns true if object is:
  /// - null
  /// - empty
  /// - whitespace string.
  bool isNullEmptyOrWhitespace() {
    var value = this;
    if (value is String) {
      return value== null || value.isEmpty || value.trim().isEmpty;;
    } else if (value is Iterable) {
      return value.isEmpty;
    } else if (value is Map) {
      return value.isEmpty;
    } else {
      return value == null;
    }
  }
}

但是每次我应该使用它时,都应该将dynamic对象投射到Object上,像这样:

void doSomething(dynamic data) {
  if (!(data as Object).isNullEmptyOrWhitespace()) {
    // do something
  }
}

是否有更好的解决方案来扩展所有内容?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)