用可选参数调用.NET方法
跳过可选参数
属性在可选参数中使用默认值问候
方法。
构建c#示例,NetDocOptional.cs
在matlabroot
走读生/ / NET/NetSample例子
文件夹中。有关构建程序集的信息,请参见为MATLAB示例构建一个。net应用程序.
加载NetDocOptional
程序集,如果尚未加载。
dllPath = fullfile(“c:”,‘工作’,“NetDocOptional.dll”);asm = NET.addAssembly(dllPath);cls = netdocoption . myclass;
该示例假设您将程序集放在您的c: \工作
文件夹中。您可以修改fullfile
函数更改程序集的路径。
显示默认值。
问候(cls, 0)
你好,世界
使用默认值str1
.
def = System.Reflection.Missing.Value;问候(cls 0 def,“琼斯先生”)
你好,琼斯先生
使用默认值str2
.可以省略形参列表末尾的实参。
问候(cls, 0,“我”)
我的世界
调用重载方法
这个例子展示了如何在重载方法中使用可选参数,calc
.要运行示例,必须创建并构建自己的程序集医生
定义calc
方法类
使用以下函数签名。
加载程序集并创建cls
.
cls = Doc.Class;
调用calc
使用显式参数。
钙(cls、3、4)
Ans = 7
如果您试图通过省略参数来使用默认值,MATLAB®无法确定要使用哪个签名。
钙(cls)
由于调用'calc'中未指定的可选参数,无法在以下. net方法签名之间进行选择:'Doc.Class.calc(Doc.Class this,可选x,可选<单一标量> y)'和'Doc.Class.calc(Doc.Class this,可选 x,可选<双标量> y)'你可以通过指定足够多的额外可选参数来解决这种歧义,这样就只有一个可能匹配的. net方法。
若要使用默认值,必须同时提供两个参数。
def = System.Reflection.Missing.Value;Calc (cls,def,def) Calc (cls,3,def)
Ans = 44 Ans = 14 Ans = 37