-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when pass named parameter into constructor #2684
Comments
Named arguments can only be used for optional arguments, e.g. B([int foo = 99]) : super(foo) {} http://try.dartlang.org/s/_EM9 So we can go one of two places from here: |
Added AsDesigned label. |
This comment was originally written by share...@gmail.com My usage named parameter is guided by "Dart style guide" http://www.dartlang.org/articles/style-guide/ See the section about boolean parameters: Unlike other types, booleans are usually used in literal form. Things like numbers are usually wrapped in named constants, but we usually just pass around true and false directly. That can make callsites unreadable if it isn't clear what the boolean represents: new Timer(true); Instead, consider using named arguments, named constructors, or named constants to clarify what the call is doing. new Timer.oneShot(); There are three options: I preffer your option (2) and my option (3). Thanks. |
This comment was originally written by sharenk...@gmail.com Just compare (2) is much more understanable, IMHO. |
git log --oneline cf9795f3bb209504c349e20501f0b4b8ae31530c..f0c7771b38155d3829a60d60b5dba2784b100811 f0c7771b Set first version with null safety to 2.12 (#2684) df1140af Warn from get, when mixed mode (#2590) 765778c0 Simplify test detection (#2682) afd66ea2 Inline the single test asset. (#2681) 059e4796 Simplify the logic for unicode and colors in output (#2679) 35ddaec2 Dartify test tool (#2680) 62f26401 Example for User-Agent (#2678) e8b4b114 fixes: #2670 pub global activate commands always exit cmd on windows. (#2671) 93e703b1 Improve stack traces in many tests (#2673) 5b540a39 Fix experiments tests for Dart 2.11 (#2672) b0ac77d8 Bump dependency on pkg:analyzer (#2662) 73f0906e Removed @alwaysThrows (#2642) 88e0a83c Fixed bug in adding dependency to empty dependencies key (#2640) 135d9fa0 Pub add/remove now remove dependencies key if it makes them empty (#2639) f4cc9673 Fix "pubpsec" typo (#2641) 4686d74d Adding an existing package is now a dataError (#2638) 1e93f47c Checks pubspec keys for potential typos (#2616) fa5f51ef Vendor yaml_edit (#2633) ac6d307f Adding a `pub remove` command (#2620) 9d236e00 Adding the `pub add` command (#2618) 04e237f7 Drop upper bound instead of using "any" while resolving in "pub outdated" (#2623) 93954f33 Use InternetAddress.tryParse over try/catch (#2626) 638c81c9 Refine publishing message (#2624) Allow github Embed pub as a library into dartdev Change-Id: Iadc6acb5c3425dfb8848db89820e6c9c8caf16ba Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167574 Reviewed-by: Jonas Jensen <jonasfj@google.com> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
This issue was originally filed by sharen...@gmail.com
What steps will reproduce the problem?
Execute code:
class A {
int foo;
A(this.foo);
}
class B extends A {
B(int foo) : super(foo) {}
}
main(){
B b1 = new B(1); // ok
B b2 = new B(foo:2); // Error
}
What is the expected output?
No Error.
What do you see instead?
'file:///C:/projects/dart_dandy/testNamendParams.dart': Error: line 12 pos 15: invalid arguments passed to constructor 'B' for class 'B'
B b2 = new B(foo:2); // Error
^
What version of the product are you using? On what operating system?
Dart Editor bundle 64bit Version 0.1.0.201204200749, Build 6799 @ Windows 7 64bit
I use named parameter to make code more readable. :)
The text was updated successfully, but these errors were encountered: