我最近從一個C#團隊切換到了vb.net團隊。我無法找到答案的其中一件事是編譯錯誤/選項的差異。讓我解釋。爲什麼VB.NET中沒有錯誤
在C#中,我會使用默認設置在嘗試將無效類型傳遞給像下面這樣的模板類時出現編譯時錯誤。在這裏我創建一個帶有字符串類型的動物,然後我傳入一個導致編譯錯誤的日期時間。
IAnimal<string> animal = new Animal<string>();
animal.SetTrainer(DateTime.Now);
我知道我會在vb.net中得到與「Option Strict」相同的編譯時錯誤。然而,在同一個文件中有很多遺留(VB)代碼,它們將不能用「Option Strict」進行編譯。我有什麼選擇。我這樣想:
- 切換到「選項嚴格」並修復所有錯誤。需要一些時間並可能破壞工作代碼。
- 也許有一種替代方法可以確保編譯時檢查泛型。畢竟所有的泛型都比較新,所以也許總有一種方法來執行這個。
- ?
在此先感謝
+1非常同意。但是如果你介意這一點,我會**在項目級**上啓用Option Strict,並且我會爲每個文件添加** Option Strict Off **,如果沒有它,將不會編譯。一步一步,你會努力重構現有的代碼。 –
感謝您分享您對此的看法。我將與我的團隊 – Flodpanter
@Adriano +1討論它 - 這可能是最好的解決方案。 –