2013-10-29 21 views
1

爲什麼下面的代碼不能編譯?使用工廠方法從點創建矩形

new Rectangle(new Point(-1, -1), new Point(1, 1)); 

編譯器返回以下

頂級未被捕獲的錯誤:沒有構造函數「長方形」在類中聲明「長方形」匹配參數。

的NoSuchMethodError:類型:傳遞給命名爲「矩形」 接收機方法的參數數量不正確類「矩形」 打過電話:矩形(「點」的情況下,實例「點」的) 實測值:矩形(動態,動態的,動態的,動態的):#0 NoSuchMethodError._throwNew(鏢:核心補丁/ errors_patch.dart:156)

回答

4

您正在尋找工廠的構造是fromPoints

new Rectangle.fromPoints(new Point(-1, -1), new Point(1, 1)); 

構造你正在呼叫,取4個值作爲樂英尺,頂部,寬度和高度。

+0

試過,編譯器現在說頂層未捕獲的錯誤:在類中聲明沒有靜態方法fromPoints「 '長方形'。 NoSuchMethodError:未找到方法:'fromPoints'接收者:類型:class'Rectang – richard

+1

您需要使用「new」關鍵字調用此方法。 –

2

什麼你要找的是

new Rectangle.fromPoints(new Point(-1, -1), new Point(1, 1)) 
+0

試過了,編譯器現在說 頂級未捕獲錯誤:沒有在'Rectangle'類中聲明的靜態方法'fromPoints'。 NoSuchMethodError:未找到方法:'fromPoints' Receiver:Type:class'Rectangle' – richard

1

這似乎工作

new Rectangle.fromPoints(new Point(-1, -1), new Point(1, 1))