최근에 C# 팀에서 vb.net 팀으로 전환했습니다. 내가 답을 찾을 수 없었던 것 중 하나는 컴파일 오류/옵션의 차이입니다. 설명하겠습니다.VB.NET에서 오류가 발생하지 않는 이유
C#에서는 잘못된 유형을 템플릿과 같은 클래스에 전달하려고 할 때 컴파일 타임 오류가 발생합니다. 여기에 문자열 형식의 Animal을 만들고 이후에 datetime을 전달하면 컴파일 오류가 발생합니다.
IAnimal<string> animal = new Animal<string>();
animal.SetTrainer(DateTime.Now);
"Option Strict"로 vb.net에서 동일한 컴파일 시간 오류가 발생합니다. 그러나 "Option Strict"로 컴파일하지 않는 동일한 파일에는 많은 레거시 (VB) 코드가 있습니다. 내가 가질 수있는 옵션은 무엇입니까? 내 생각 :
- "Option Strict"로 전환하고 모든 오류를 수정하십시오. 시간이 좀 걸리고 작업 코드가 손상 될 수 있습니다.
- 제네릭의 컴파일 시간을 확인할 수있는 대안이있을 수 있습니다. 모든 제네릭이 오히려 새로운 것이므로 항상 이것을 강요하는 방법이있을 것입니다.
- ? 사전에
감사
+1 매우 동의합니다.하지만이 점에 대해 마음 먹으면 ** 프로젝트 레벨에서 Option Strict를 켜고 ** 각 옵션에 ** Option Strict Off를 추가하면 ** 그것 없이는 컴파일되지 않습니다. 단계별로 기존 코드를 리팩터링하는 작업을 수행합니다. –
의견을 보내 주셔서 감사합니다. 내 팀 – Flodpanter
@ Adriano, +1과 의논 해 보겠습니다. 아마도 가장 좋은 해결책 일 것입니다. –