相关疑难解决方法(0)

F# - 使用重载和参数调用ac#方法

不知道其他30篇文章是如何在这里帮助我的,但我正在使用这些重载的ac#dll:

function TqlForBidAskTrade(string, int?, params string[])
function TqlForBidAskTrade(string[], int?, params string[])
Run Code Online (Sandbox Code Playgroud)

我可以用c#中的params调用这个方法,如下所示:

TqlForBidAskTrade("string", null)
Run Code Online (Sandbox Code Playgroud)

F#中的等价物是什么?我似乎无法得到任何东西来编译.我试过了:

TqlForBidAskTrade("string", null)
TqlForBidAskTrade("string", Nullable<int>())
TqlForBidAskTrade("string", Nullable<int>(), null)
TqlForBidAskTrade("string", Nullable<int>(), [])
TqlForBidAskTrade("string", Nullable<int>(), ["doodah"])
TqlForBidAskTrade("string", 4, ["doodah"])
Run Code Online (Sandbox Code Playgroud)

看起来好像我应该偶然发现所有相似的请求,但我一直在寻找一个小时.

f#

3
推荐指数
2
解决办法
223
查看次数

2
推荐指数
1
解决办法
320
查看次数

我怎么可能在空对象上调用HasValue?

请考虑以下代码:

int? myInt = null;
var hasValue = myInt.HasValue;
Run Code Online (Sandbox Code Playgroud)

这是完全可以接受的,并且HasValue将返回false.但是我如何设法在一个null的对象上引用属性?以下不起作用:

public class MyClass
{
    public bool MyBool { get { return true; } };
}

// Elsewhere in code...
MyClass myObject = null;
myObject.MyBool;
Run Code Online (Sandbox Code Playgroud)

这会引发空引用异常.事实上,我正在比较上面的两个代码片段,好像它们是相等的,这告诉我,我在某处误解了结构或某种语法.

有人可以告诉我为什么代码片段1不会引发异常,但为什么我的代码片段会出现?

c# variables nullable exception

2
推荐指数
1
解决办法
879
查看次数

C#中没有标识符的参数?

在C++中,如果方法参数标识符未使用,则可以跳过它:

void foo( int, int ) {}
Run Code Online (Sandbox Code Playgroud)

这在接口实现的情况下非常有用,其中大量方法具有空体.是否有可能在C#中做类似的事情?直接测试给出错误:

public void OnAddInsUpdate( ref Array )  {} // Error, need identifier :(
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
372
查看次数

标签 统计

c# ×2

nullable ×2

variables ×2

.net ×1

exception ×1

f# ×1