Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
352 views
in Technique[技术] by (71.8m points)

flutter - Declare a variable to store an object that is only constructed with a specific named constructor in dart

    class ExampleClass {
      //default constructor
      ExampleClass() {
        //do stuff
      }
      //named constructor
      ExampleClass.namedConstructor() {
        //do stuff
      }
    }
    void main() {
     //is there a way to create a variable with datatype to store an object that is constructed only with a specific constructor?

//I have tried something like this, but it returns an error
         ExampleClass.namedConstructor variable_1;
    }

Is there any way to do this or an alternative? because I need to be able to differentiate between an object that is constructed with the default constructor or with a named constructor.

question from:https://stackoverflow.com/questions/65937866/declare-a-variable-to-store-an-object-that-is-only-constructed-with-a-specific-n

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can add some identification to classes builded with different constructors and compare entities by unique parameters.

If instances of your classes creating once (Singleton design pattern), you can create entities as constants and compare it by reference:

const administrator = User.administrator();

class User {
  final int id;

  User(this.id);

  factory User.administrator() {
    return User(0);
  }

  factory User.administrator(int id) {
    return User(id);
  }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...