我的以下代码已经运行了好几个月,但是我忘记了创建这个类,Option Strict On
所以现在我要回去正确地清理我的代码,但是我无法找到解决以下问题的方法。
我有一个像这样声明的局部变量:
Private _manageComplexProperties
现在使用选项严格,由于没有我理解的子句,这是不允许的As
,但是之所以这样,是因为将分配给它的类的实例需要一个类型参数,直到运行才知道时间。这是通过以下代码解决的:
Private _type As Type
*SNIP OTHER IRRELEVANT VARIABLES*
Public Sub Show()
Dim requiredType As Type = _
GetType(ManageComplexProperties(Of )).MakeGenericType(_type)
_manageComplexProperties = Activator.CreateInstance(requiredType, _
New Object() {_value, _valueIsList, _parentObject, _unitOfWork})
_result = _manageComplexProperties.ShowDialog(_parentForm)
If _result = DialogResult.OK Then
_resultValue = _manageComplexProperties.GetResult()
End If
End Sub
由于后期绑定,选项 strict 再次引发了一些错误,但是一旦我可以成功_manageComplexProperties
正确声明变量,就应该使用强制类型转换来清除它们,但由于类型参数未知,我似乎无法获得有效的解决方案,直到运行。任何帮助,将不胜感激。