有段C#的构造函数是这样的
public QueryCommand(Action execute)
: this(execute, null)
{
}
public QueryCommand(Action execute, Func canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
看网上说的意思是在实例化的时候用一个参数,它就会先去掉用两个参数的构造函数,
并且第二个参数默认为null.
目前我暂时在vb.net中把它翻译成
Public Sub New(ByVal execute As Action(Of Object), Optional ByVal canExecute As Func(Of Object, Boolean) = Nothing)
If execute Is Nothing Then
Throw New ArgumentNullException("execute")
End If
If canExecute Is Nothing Then
Throw New ArgumentNullException("canExecute")
End If
_execute = execute
_canExecute = canExecute
End Sub
这样改写是否可行?
初学ICommand接口,还有很多不明白的,无法调试,求问大拿们。
C#中的这种构造函数调用构造函数,在vb里该怎么办?
public QueryCommand(Action execute)
: this(execute, null)
{
}
public QueryCommand(Action execute, Func canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
看网上说的意思是在实例化的时候用一个参数,它就会先去掉用两个参数的构造函数,
并且第二个参数默认为null.
目前我暂时在vb.net中把它翻译成
Public Sub New(ByVal execute As Action(Of Object), Optional ByVal canExecute As Func(Of Object, Boolean) = Nothing)
If execute Is Nothing Then
Throw New ArgumentNullException("execute")
End If
If canExecute Is Nothing Then
Throw New ArgumentNullException("canExecute")
End If
_execute = execute
_canExecute = canExecute
End Sub
这样改写是否可行?
初学ICommand接口,还有很多不明白的,无法调试,求问大拿们。
C#中的这种构造函数调用构造函数,在vb里该怎么办?