小编Hau*_*man的帖子

FSharp.Core.dll中的HasCustomAttribute标记值为19

在FSharp.Core.dll(4.0.30319.1)中,我找到HasCustomAttribute了值为19的标记.在ECMA-335中未指定此值.ECMA-335(第II部分,24.2.6)仅描述0到18之间的值.

有人知道什么是有价值的意思吗?

更新:

好像tag(19)指定的那样GenericParamTable.
Core.EqualityConditionalOnAttributeClass
Collections.Map<'Key,'Value>Class
但第6版Reflector不显示FSharp.Core.Collections.FSharpMap类型的泛型参数的属性.

更新2:

问题已经结束.在第5版ECMA-335中回答.(我使用了第4版).

f#

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

未检测到重载运算符

首先,我使用模板创建了一个双向链表.我有一个"帐户"类,我已经重载了"=="运算符来比较帐户ID.我创建了一个链接列表来保存帐户.

当我向列表中添加一个新帐户时,它会调用"包含?" 调用==运算符的方法.这是调用错误的地方,g ++告诉我

sll.h:在成员函数'bool list :: contains(T)[with T = account]'中:

customer.h:25:35:从这里实例化

sll.h:261:3:错误:'temp-> node :: data == item'中'operator =='不匹配

account.h:36:6:注意:候选人是:bool account :: operator ==(account&)

我现在一直在调查几个小时,我无法深究它.我怀疑它可能与我使用模板这一事实有关.我创建了测试程序,看看我是否正确地重载了​​操作符并且它按预期工作.

另请注意:有一个客户类,它包含在帐户列表中,这就是所谓的"添加"方法.不幸的是,我不能发布超过2个超链接,所以我只能说出这个课程是正确的.= P

由于代码有点长,我使用了pastie:

链接列表类

帐户类

c++ templates overloading operator-keyword

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

关于简单的UWP项目的大量冲突

我有一个简单的项目,我收到了数以千计的错误,很可能是因为一些UWP/.NET Core依赖问题.project.json文件非常简单:

{
  "dependencies": {
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0",
    "Newtonsoft.Json": "8.0.3"
  },
  "frameworks": {
    "uap10.0": {}
  },
  "runtimes": {
    "win10-arm": {},
    "win10-arm-aot": {},
    "win10-x86": {},
    "win10-x86-aot": {},
    "win10-x64": {},
    "win10-x64-aot": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

这些都是我得到 的错误:http://pastebin.com/WwPKzCgK错误示例:

Version conflict detected for System.Collections.
 WebServer (? 1.0.0) -> Microsoft.NETCore.UniversalWindowsPlatform (? 5.0.0) -> Microsoft.NETCore.Runtime (? 1.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-arm (? 1.0.0) -> System.Collections (= 4.0.10)
 WebServer (? 1.0.0) -> Microsoft.NETCore.UniversalWindowsPlatform (? 5.0.0) -> Microsoft.NETCore (? 5.0.0) -> System.Collections (? 4.0.10).
Version conflict detected for …
Run Code Online (Sandbox Code Playgroud)

nuget win-universal-app dnx

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

照明USB OpenDMX FTD2XX DMXking

几个快速问题.我有一个DMX王USB照明控制器,我正试图控制.

它基于Open DMX协议(来自Entec),提供ac#class.我已经将设备插入RGB设备,如果我用他们的驱动程序测试USB设备,它连接到COM4,当我将他们的软件切换到发送模式时,我可以设置单独的DMX通道.

使用他们的OpenDMX类,进行一些修改(核心是相同的,我刚刚添加了一些额外的错误检查,我可以找到设备,查询它的信息等.当我打开设备时,我得到一个句柄.我可以写使用FT_Write到那个设备但不管我做什么,实际上没有灯亮起来.

以下是一些相关的代码片段:

public static byte[] buffer;

[DllImport("FTD2XX.dll")]
public static extern FT_STATUS FT_Open(UInt32 uiPort, ref uint ftHandle);
[DllImport("FTD2XX.dll")]
public static extern FT_STATUS FT_Write(uint ftHandle, IntPtr lpBuffer, UInt32 dwBytesToRead, ref UInt32 lpdwBytesWritten);

public static void writeData()
{
    while (!done)
    {
        try
        {
            initOpenDMX();
            status = FT_SetBreakOn(handle);
            status = FT_SetBreakOff(handle);
            bytesWritten = write(handle, buffer, buffer.Length);
            if (bytesWritten == 0)
            {
                break;
            }

            System.Threading.Thread.Sleep(25);
        }
        catch (Exception)
        {
            break;
        }
    }
    Connected = false;
    done = false;
}
Run Code Online (Sandbox Code Playgroud)

所有状态都以FT_Ok的形式返回,bytesWritten返回为512(此USB控制器上的通道数)

我一直在想我错过了将设备设置为传输模式或类似的设备(它只有一个DMX插槽)

public …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke dmx512

3
推荐指数
1
解决办法
9664
查看次数

当我的节点加入集群时,Akka.net集群中是否有事件?

在我的Akka.Net集群中,我有几个节点.当我成功加入群集时,我想要启动通信.我可以在日志中看到我欢迎来到集群:

Welcome from [akka.tcp://Animatroller@hakan-el:8899]
Run Code Online (Sandbox Code Playgroud)

但我看不到任何我可以订阅的事件.

akka.net akka.net-cluster

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