How to reference another file in Dart?

后端 未结 4 1183
温柔的废话
温柔的废话 2020-11-28 07:04

I know you can use the library, import and even #import, but which is correct?

I have got two files, MainClass.dart

4条回答
  •  孤城傲影
    2020-11-28 07:38

    Importing your own created libraries: You will be importing the filename.dart and not the name of your library. So if the name of your library is: myLib and it is saved in the file: someDartFile.dart you will have to

    import 'someDartFile.dart';
    

    If you have on Windows a library at: K:\SomeDir\someFile.dart you will need to write:

    import '/K:/SomeDir/someFile.dart';
    

    example:

    import 'LibraryFile.dart'; //importing myLib
    
    void main(){ 
      //a class from myLib in the LibraryFile.dart file
      var some = new SomeClassFromMyLibrary(); 
    }
    

    myLib in LibraryFile.dart:

    library myLibrary;
    import 'dart:math';
    
    class SomeClassFromMyLibrary{
      String _str = "this is some private String only to myLibrary";
      String pubStr = "created instances of this class can access";
    }
    

    Here a full example.

    //TestLib.dart
    import 'LibFile.dart'; //SomeLibrary
    
    void main() {
      print("Hello, World!");
    
      LibFile l = new LibFile();
      print(l.publicString);//public
      print(l.getPrivateString);//private  
      print(l.getMagicNumber); //42
    }
    
    //LibFile.dart
    library SomeLibrary;
    part 'LibFile2.dart';
    
    class LibFile {
      String _privateString = "private";
      String publicString = "public";
    
      String get getPrivateString => _privateString;
    
      int get getMagicNumber => new LibFile2().number;
    }
    
    //LibFile2.dart
    part of SomeLibrary;
    
    class LibFile2 {
      int number = 42;
    }
    

提交回复
热议问题