小编Ani*_*tel的帖子

#符号在f#函数签名中的含义是什么?

我见过这样定义的函数:

let private applyTarget (logger:#ILogger) ceiling target =
    logger.Debug "enforce ceiling"
    match target > ceiling with
    | true -> ceiling | false -> target
Run Code Online (Sandbox Code Playgroud)

什么是#符号中的签名是什么意思?

什么区别logger:ILoggerlogger:#ILogger

f# types symbols casting type-signature

9
推荐指数
1
解决办法
567
查看次数

ChartJs画布在更改图形类型时显示上一个图形

我遇到了一个独特的事件,当用户从下拉菜单中选择并且如果您在画布上扫描图形会发生变化,之前的事件将在背景中显示为鬼影.我知道你可以使用像graph.destroy()这样的东西,但我不确定这是否合适以及放在哪里.

我更新图表的代码

var ctx = document.getElementById("myChart").getContext("2d");
    ctx.canvas.width = 600;
    ctx.canvas.height = 200;

    function updateChart() {
        //  ctx.canvas.destroy();
        var determineChart = $("#chartType").val();

        var params = dataMapMain[determineChart];
        if ([params.method] == "Pie") {
            document.getElementById("subOption").hidden = false;
            document.getElementById("arrowId").hidden = false;

    var determineChart = $("#subOption").val();
            var params = dataMapSub[determineChart];
            $('#subOption').on('change', updateChart);

            new Chart(ctx)[params.method](params.data, options, {});

        }
        else {
            document.getElementById("subOption").hidden = true;
            document.getElementById("arrowId").hidden = true;
            new Chart(ctx)[params.method](params.data, options, {});
        }
    }

    $('#chartType').on('change', updateChart)
    updateChart();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这个小提琴演示了这个问题,将鼠标悬停在图表上以查看" 幽灵 ".

javascript canvas chart.js

6
推荐指数
1
解决办法
1213
查看次数

F#Type Constraint在泛型函数上使用约束时不匹配

在f#项目中,我有以下类型:

type A = { Name: string }
type B = { Name: string; SurName: string }
type C = { Name: string; SurName: string; MaidenName: string }
Run Code Online (Sandbox Code Playgroud)

以及使用泛型参数约束的以下函数:

let inline filterByName<'a when 'a: (member Name: string)> (name: string) (collection: 'a seq) =
    collection |> Seq.where(fun i -> i.Name = name)
Run Code Online (Sandbox Code Playgroud)

问题是我得到以下编译时错误:

类型约束不匹配.类型

'一个

与类型不兼容

C

类型'''与'C'类型不匹配

inline从函数定义中删除会给出以下编译时错误:

此代码不够通用.类型变量^ a当^ a :(成员get_Name:^ a - > string)无法泛化,因为它会逃避其范围.

我想要实现的是一个函数,它采用具有特定名称属性的泛型类型,在这种情况下为"Name".我做错了什么或我错过了什么?

.net f# inline

5
推荐指数
1
解决办法
509
查看次数

扩展SignalR Server Hub类以创建基本Hub类

我正在尝试扩展SignalR Hub类以创建一个基类,它是SignalR Hub的核心,但带有一些额外的pzazz。

我的基类:

public class MyBaseHub : Hub 
{
    protected ISession NhSession { get; set; }

    public MyBaseHub(ISession nhSession)
    {
        NhSession = nhSession;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的派生类:

public class MyDerivedHub : MyBaseHub 
{                
    public MyDerivedHub(ISession nhSession) : base(nhSession) { }
}
Run Code Online (Sandbox Code Playgroud)

上面的构建很好,但是SignalR生成的javascript抛出错误,并且我无法在客户端上创建连接。我的基类中有更多代码,但是我全力以赴尝试缩小问题范围,发现问题出在客户端。

定义MyBaseHub集线器客户端时,生成的Javascript引发异常“ Uncaught SyntaxError:Unexpected Number”:

myBaseHub`1: { generated properties go in here }
Run Code Online (Sandbox Code Playgroud)

所以我猜想SignalR集线器只能被继承一次?有人知道我要做什么吗?

asp.net-mvc asp.net-mvc-4 signalr

4
推荐指数
1
解决办法
1732
查看次数