小编Pap*_*ome的帖子

泛型类和 IEquatable 问题

我想要一个通用类来实现 IEquatable<T> 接口。该类具有 T 类型的数据项。为了使泛型类可等同,数据项也必须是这样的。

这是我的通用类:

public class V<T> : IEquatable<V<T>> where T : IEquatable<T>
{
    public V(T[] Value)
    {
        this.Value = Value;
    }

    T[] Value { get; set; }

    public bool Equals(V<T> other)
    {
        if (Value.Count() != other.Value.Count()) return false;

        for (int i = 0; (i < Value.Count()) && i < other.Value.Count(); i++)
        {
            if (!Value[i].Equals(other.Value[i])) return false;
        }

        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题就在这里。当我编译上面的泛型类时,我收到以下消息。

“Myspace.Generic.V`1[T]”上的 GenericArguments[0]、“T”违反了类型参数“T”的约束。

我的推理哪里出错了,或者我的泛型类出了什么问题?

注意:当我省略IEquatable<V<T>>泛型类和完整的代码public bool Equals(V<T> other)时,泛型类将编译并可用。除了编译器检测 IEquitable 之外。

public class …
Run Code Online (Sandbox Code Playgroud)

c# generics nunit interface .net-4.0

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

C#中'const'关键字的C++/CLI等价物是什么?

我试图在我的C++/CLI代码中声明以下内容.

public ref class MyClass
{
public:
    const String ^MyLuckyNumber = "One";
Run Code Online (Sandbox Code Playgroud)

它在编译阶段失败了.但在C#中,以下是有效的.

public class MyClass
{
    public const string NowMyLuckyNumber = "Two";
Run Code Online (Sandbox Code Playgroud)

如何在C++/CLI中声明'const String ^'?我试着谷歌但没有运气!

c++-cli

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

无法在 vim 中使用 'mark a' 或 'mark A'

我喜欢使用 vim(在 ms windows 上),我想每个人都有一个最喜欢的编辑器,这是我的。

在一台特定的 PC 上,我遇到了有关该mark[a-zA-Z]命令的问题。它不适用于字母 a 和 A,但适用于 bz 和 BZ,我想知道为什么。

如果我使用该命令,:marks我可以看到它mamA设置一个条目。但'a'A没有什么作用。反引号版本也是如此。如果我对标签 b 或 B 做同样的事情,它就会起作用。

我检查了 _vimrc,但没有一行对 a 或 A 执行某些操作。

什么可以屏蔽标签a和A?我如何找出导致此问题的原因?

欢迎任何建议。

其他信息:2016 年 3 月 5 日 23:59

我没有 _gvimrc 文件并使用“标准”_vimrc 文件,从未花时间深入研究 vim 配置。所以它仍然很香草。我喜欢这种方式,我必须使用太多的 PC,并且同步 _vimrc 文件不是我想要的。:-)

这是在我的 _vimrc 文件中。

:source C:\Program Files (x86)\Vim\_vimrc

let g:xml_syntax_folding=1
:filetype on
:filetype plugin on

:set foldmethod=marker
:set foldmarker={,}

autocmd FileType xml source C:\Users\andre\vimfiles\ftplugin\xml.vim
autocmd FileType …
Run Code Online (Sandbox Code Playgroud)

vim

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

标签 统计

.net-4.0 ×1

c# ×1

c++-cli ×1

generics ×1

interface ×1

nunit ×1

vim ×1