Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#带接口的结构,C#元数据不显示从接口的继承_C#_Class_Struct_Interface_F# - Fatal编程技术网

F#带接口的结构,C#元数据不显示从接口的继承

F#带接口的结构,C#元数据不显示从接口的继承,c#,class,struct,interface,f#,C#,Class,Struct,Interface,F#,奇怪的是,我有一个结构和一个记录。两者都实现了ITick接口,但是当在C中引用Tick时,元数据显示没有从接口继承。对于RedisTick记录类型,尽管接口是继承的 我是否在代码中遗漏了某些内容/这是一个bug/有什么问题 接口 类型ITick= 摘要符号:字符串 摘要日期:日期时间 摘要价格:十进制 摘要卷:int Struct 键入勾号(符号:字符串、日期:日期时间、价格:十进制、体积:整数)= 结构 此成员。Symbol=Symbol 此成员。日期=日期 请记住这个。价格=价格 此成员。

奇怪的是,我有一个结构和一个记录。两者都实现了ITick接口,但是当在C中引用Tick时,元数据显示没有从接口继承。对于RedisTick记录类型,尽管接口是继承的

我是否在代码中遗漏了某些内容/这是一个bug/有什么问题

接口

类型ITick=
摘要符号:字符串
摘要日期:日期时间
摘要价格:十进制
摘要卷:int
Struct

键入勾号(符号:字符串、日期:日期时间、价格:十进制、体积:整数)=
结构
此成员。Symbol=Symbol
此成员。日期=日期
请记住这个。价格=价格
此成员。卷=卷
接口ITick与
成员this.Symbol=this.Symbol
成员this.Date=this.Date
成员this.Price=this.Price
成员this.Volume=此.Volume
结束
记录

[]
类型RedisTick=
{符号:字符串
日期:日期时间
价格:十进制
卷:int}
接口ITick与
成员this.Symbol=this.Symbol
成员this.Date=this.Date
成员this.Price=this.Price
成员this.Volume=此.Volume
C#元数据: 用C#记录

[Microsoft.FSharp.Core.CLIMutableAttribute][Microsoft.FSharp.Core.compilementMappingAttribute]
公共密封类RedisTick:IEquatable、IStructuralEquatable、IComparable、IComparable、IStructuralComparable、ITick{
公共再贴现();
公共RedisTick(字符串符号、日期时间、十进制价格、整数体积);
[Microsoft.FSharp.Core.CompilationMappingAttribute]
公共日期时间日期{get;set;}
[Microsoft.FSharp.Core.CompilationMappingAttribute]
公共十进制价格{get;set;}
[Microsoft.FSharp.Core.CompilationMappingAttribute]
公共字符串符号{get;set;}
[Microsoft.FSharp.Core.CompilationMappingAttribute]
公共int卷{get;set;}
[编译生成]
公共密封覆盖int CompareTo(对象obj);
[编译生成]
公共密封超驰int CompareTo(RedisTick obj);
[编译生成]
公共密封覆盖int CompareTo(对象对象、i比较程序);
[编译生成]
公共密封覆盖布尔等于(对象obj);
[编译生成]
公共密封覆盖布尔等于(RedisTick obj);
[编译生成]
公共密封覆盖布尔等于(对象对象对象,IEqualityComparer comp);
[编译生成]
public sealed override int GetHashCode();
[编译生成]
公共密封重写int-GetHashCode(IEqualityComparer comp);}
C#中的结构

[Microsoft.FSharp.Core.CompilationMappingAttribute]
公共结构勾选:IEquatable、ISstructuralequatable、IComparable、IComparable、ISstructuralComparable
{
公共刻度(字符串符号、日期时间、十进制价格、整数体积);
公共日期时间日期{get;}
公共十进制价格{get;}
公共字符串符号{get;}
公共int卷{get;}
[编译生成]
公共密封覆盖int CompareTo(对象obj);
[编译生成]
公共密封超控int CompareTo(勾选obj);
[编译生成]
公共密封覆盖int CompareTo(对象对象、i比较程序);
[编译生成]
公共密封覆盖布尔等于(对象obj);
[编译生成]
公共密封覆盖布尔等于(勾选obj);
[编译生成]
公共密封覆盖布尔等于(对象对象对象,IEqualityComparer comp);
[编译生成]
public sealed override int GetHashCode();
[编译生成]
公共密封覆盖int GetHashCode(IEqualityComparer comp);
}

已解决在VS2015 RC中已修复

你能提供更多关于你的设置的信息吗?这在VS2015和Windows上的F#4.0中非常适合我。还有,以防万一:你试过重建你的F#项目吗?我也有同样的设置,是的,你试过一次彻底的重建。那么,从C#看,你的勾号结构实现了ITick接口?注意发布你的元数据,我很感兴趣!
[Microsoft.FSharp.Core.CLIMutableAttribute] [Microsoft.FSharp.Core.CompilationMappingAttribute] 
public sealed class RedisTick : IEquatable<RedisTick>, IStructuralEquatable, IComparable<RedisTick>, IComparable, IStructuralComparable, ITick {
        public RedisTick();
        public RedisTick(string symbol, DateTime date, decimal price, int volume);

    [Microsoft.FSharp.Core.CompilationMappingAttribute]
    public DateTime Date { get; set; }
    [Microsoft.FSharp.Core.CompilationMappingAttribute]
    public decimal Price { get; set; }
    [Microsoft.FSharp.Core.CompilationMappingAttribute]
    public string Symbol { get; set; }
    [Microsoft.FSharp.Core.CompilationMappingAttribute]
    public int Volume { get; set; }

    [CompilerGenerated]
    public sealed override int CompareTo(object obj);
    [CompilerGenerated]
    public sealed override int CompareTo(RedisTick obj);
    [CompilerGenerated]
    public sealed override int CompareTo(object obj, IComparer comp);
    [CompilerGenerated]
    public sealed override bool Equals(object obj);
    [CompilerGenerated]
    public sealed override bool Equals(RedisTick obj);
    [CompilerGenerated]
    public sealed override bool Equals(object obj, IEqualityComparer comp);
    [CompilerGenerated]
    public sealed override int GetHashCode();
    [CompilerGenerated]
    public sealed override int GetHashCode(IEqualityComparer comp); }
[Microsoft.FSharp.Core.CompilationMappingAttribute]
public struct Tick : IEquatable<Tick>, IStructuralEquatable, IComparable<Tick>, IComparable, IStructuralComparable
{
    public Tick(string symbol, DateTime date, decimal price, int volume);

    public DateTime Date { get; }
    public decimal Price { get; }
    public string Symbol { get; }
    public int Volume { get; }

    [CompilerGenerated]
    public sealed override int CompareTo(object obj);
    [CompilerGenerated]
    public sealed override int CompareTo(Tick obj);
    [CompilerGenerated]
    public sealed override int CompareTo(object obj, IComparer comp);
    [CompilerGenerated]
    public sealed override bool Equals(object obj);
    [CompilerGenerated]
    public sealed override bool Equals(Tick obj);
    [CompilerGenerated]
    public sealed override bool Equals(object obj, IEqualityComparer comp);
    [CompilerGenerated]
    public sealed override int GetHashCode();
    [CompilerGenerated]
    public sealed override int GetHashCode(IEqualityComparer comp);
}