VS 2013 - 编译错误中的Elide通用参数

时间:2015-09-14 13:08:30

标签: c# visual-studio visual-studio-2013

我最近在一些C#代码中遇到了一个问题,其中使用带有许多通用参数的外部参数是最自然的解决方案。 (实际上,问题是我们的代码库有两个几乎完全相同的模块,代码重复次数令人沮丧。这些模块由结构上几乎完全相同的类组成,但它们以正常OO抽象(接口/基础)的方式相关class)不足以表达它们的共性。)因此,公共代码中的典型文件可能如下所示:

public partial class Module<T1, T2, ..., TN>
{
    public abstract class Foo
    {
        public virtual T1 DoFoo(T2 t2, T3, t3)
        {
            //... 
        }
    }
}

其中N是一个非常大的数字。

当代码正确时,这一切都运行得相当干净,但是当触发编译错误时,Visual Studio会在错误消息中包含通用参数,导致难以辨认的消息,例如:

Error in Module<T1, T2, ..., TN>.Foo.DoFoo
     missing ';' on 13:83

Module<...>业务占用了太多空间,甚至很难看出错误是什么。

理想情况下,我希望能够配置VS 2013 /处理错误消息,以便不包含通用参数,我们得到类似

的内容
Error in Module<>.Foo.DoFoo missing ';'

0 个答案:

没有答案