1

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

我的问题是,除了小的更改外,现有的大部分资源都会被复制。我不熟悉 Visual Studio,所以我不知道我可以使用哪些节省时间的技术。

在我看来,如果我可以复制一些现有的类并简单地将它们的重命名副本添加到我可以编辑的项目中,而不会混淆项目中正在工作的部分,那将是理想的。

我应该补充一点,我需要走这么远来复制大部分相同的代码的唯一原因是,如果我在我自己的项目中将它们用作依赖项,那么早期项目中使用的命名约定会极具误导性。

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

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

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

4

1 回答 1

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
    {
    }
}
  • 在我看来你不应该复制类,虽然看起来最简单的事情迟早会让事情变得更加混乱,记住不要在编程中重复自己。

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

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

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

给它一个更好的标题也可能是明智的。

于 2013-10-19T22:06:43.067 回答