对Visual Studio NewB的建议。重用现有的类库?

时间:2013-10-19 21:39:41

标签: c# visual-studio visual-studio-2012 conventions code-duplication

我开始使用Visual Studio获得第一个项目体验。我的任务是使用现有的解决方案的源代码,并通过向所述解决方案添加新项目来扩展其功能。

我的问题是,除了小的变化之外,大部分现有的资源都会被复制。我对Visual Studio不熟悉,所以我不知道什么时间节省技术可供我使用。

在我看来,如果我可以复制一些现有的类并且只是将它们的重命名副本重新添加到我可以编辑的项目而不会捏造正在运行的项目部分,那将是理想的。

我应该补充一点,因为我在早期项目中使用的命名约定如果我在我自己的项目中将它们用作依赖项,那么我需要这么做才能复制大多数相同的代码。

如果我开始将现有类的名称空间更改为更通用的类,那么Visual Studio是否会维护自己,以便我可以使用它们而不会让我的代码混淆其他人跟随它?

如果我的NEW类有一半的代码是相同的,那么在Visual Studio中是否有一种简单的方法来复制OLD类?

对方法或惯例的任何建议都非常受欢迎。顺便说一句,我在Visual Studio 2012 Pro中工作。并且该项目主要用C#编码,如果这有助于任何人。

1 个答案:

答案 0 :(得分:1)

你的问题很模糊,为了得到更好的答案,你应该对你所面临的问题作一个具体的例子。

到目前为止,这是我的想法,他们可能会给你一些提示:

上述一些提示的示例:

using System;
using MyFamiliarNamespace = MyScaryNamespace;
using MyFamiliarClass = MyScaryNamespace.MyScaryClass;

namespace ConsoleApplication1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var @class = new MyFamiliarClass();
            @class.HelloWorld();
        }
    }

    public static class MyScaryClassExtensions
    {
        public static void HelloWorld(this MyFamiliarClass myScaryClass)
        {
            Console.WriteLine("Hello world !");
        }
    }
}

// Consider this part being in another assembly
namespace MyScaryNamespace
{
    public class MyScaryClass
    {
    }
}
  • 在我看来,你不应该复制课程,而看起来最容易做到的事情迟早会让事情变得更加混乱,记得在编程中Don't repeat yourself

  • 重命名命名空间:除非你有像Resharper这样的工具,否则手动操作可能会非常痛苦并容易出错

  • 复制对象(或类似对象):如果你必须复制对象,那么在某些情况下使用像Automapper这样的东西可以实时节省。

在您的问题中提供更多详细信息,以便我们提出更好的答案。

给予一个更好的称号可能也是明智的。