Как можно сглазить тип в VB.NET или C#, чтобы при использовании псевдонима в качестве типа аргумента в функции, случайно используя неалиасовый тип является ошибкой?Enforce Type Alias в VB.NET
т.е.
Imports AccessSpecifier = System.String
Module Accessors
Delegate Function IoOper(ByRef strm As System.IO.Stream) As Action
Public Function accessMethod(ByRef spec As AccessSpecifier) As IoOper
' implementation
' ...
End Function
End Module
Module Main
Public Sub Main()
Dim spec As AccessSpecifier = New AccessSpecifier(CType("READ_WRITE", Char()))
Dim val = Accessors.accessMethod(spec)
System.Console.WriteLine(val.GetType())
Dim shouldFail = Accessors.accessMethod("FAIL_ME")
System.Console.WriteLine(shouldFail.GetType())
End Sub
End Module
Или, возможно, есть лучший способ пойти по этому поводу?
В целом, я желая IDE, чтобы заставить меня знать, что я делаю, если я выбрасываю Ints
вокруг означает Flag
с, или State
с и Strings
вокруг означает Name
с, Property
с и Record
сек ,
Помощь?
Просто поставьте опцию Strict On в верхней части файла исходного кода. –
'Option Strict' предотвращает неявное преобразование. Здесь нет конверсии, потому что типы идентичны. –
Erm, нет, целое не совпадает с строкой. Разве это не то, чего вы пытались избежать? С помощью опции Strict Off компилятор с удовольствием генерирует код * try * для преобразования строки в целое число. С kaboom во время выполнения, когда это не сработает. В противном случае тип динамического набора текста, который программисты vb любят на языке. Рассмотрим C# как язык, который имеет очень строгую типизацию. –