Freezedを使用してインターフェイスにプログラムしようとしています。アプリ全体で type を指定できるようにしたいIUserRegistrationEntity
;
私のインターフェース:
abstract class IUserRegistrationEntity {
String nickName;
String email;
String confirmEmail;
String password;
String confirmPassword;
}
私の凍結されたクラス:
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:vepo/domain/user_registration/i_user_registration_entity.dart';
part 'user_registration_entity.freezed.dart';
@freezed
abstract class UserRegistrationEntity with _$UserRegistrationEntity {
@Implements(IUserRegistrationEntity)
factory UserRegistrationEntity(
{String nickName,
String email,
String confirmEmail,
String password,
String confirmPassword}) = _UserRegistrationEntity;
}
アプリの実行時にエラーが発生する:
lib/domain/user_registration/user_registration_entity.freezed.dart:165:7: Error: The non-abstract class '_$_UserRegistrationEntity' is missing implementations for these members:
- IUserRegistrationEntity.confirmEmail
- IUserRegistrationEntity.confirmPassword
- IUserRegistrationEntity.email
- IUserRegistrationEntity.nickName
- IUserRegistrationEntity.password
Try to either
- provide an implementation,
- inherit an implementation from a superclass or mixin,
- mark the class as abstract, or
- provide a 'noSuchMethod' implementation.
class _$_UserRegistrationEntity implements _UserRegistrationEntity {
^^^^^^^^^^^^^^^^^^^^^^^^^
lib/domain/user_registration/i_user_registration_entity.dart:4:10: Context: 'IUserRegistrationEntity.confirmEmail' is defined here.
String confirmEmail;
^^^^^^^^^^^^
lib/domain/user_registration/i_user_registration_entity.dart:6:10: Context: 'IUserRegistrationEntity.confirmPassword' is defined here.
String confirmPassword;
^^^^^^^^^^^^^^^
lib/domain/user_registration/i_user_registration_entity.dart:3:10: Context: 'IUserRegistrationEntity.email' is defined here.
String email;
^^^^^
lib/domain/user_registration/i_user_registration_entity.dart:2:10: Context: 'IUserRegistrationEntity.nickName' is defined here.
String nickName;
^^^^^^^^
lib/domain/user_registration/i_user_registration_entity.dart:5:10: Context: 'IUserRegistrationEntity.password' is defined here.
String password;
^^^^^^^^
私は何を間違っていますか?
編集:パッケージドキュメントからのこの引用は、それが不可能であることを意味しますか?.
注 2: @With/@Implements を凍結されたクラスで使用することはできません。フリーズされたクラスは、拡張も実装もできません。
もしそうなら、これが欠点だと人々が考えるかどうかを知りたい.