如何在C#中的同一命名空间的另一个窗口中编写代码

时间:2015-11-07 02:15:10

标签: c# namespaces

我在C#IDE中完成了这个。我刚创建了两个枚举。我的第二个枚举是世界上汽车制造商的名单,过长了。为方便起见,我想让汽车制造商分开。如何在另一个代码窗口中将它保持分开?我不知道如何为此目的创建具有相同命名空间的另一个窗口,我可以编写此枚举,并且仍然可以从form1上的button1_Click事件访问它。我提出这个基本问题是因为虽然我使用基本的c#技术进行了大量的数据处理,但我总是在同一个代码窗口上编写所有内容。这会影响我的程序的可读性。有人可以告诉我吗?感谢。

pub trait GeneticAlgorithm<Ins, C> : Clone {
    fn mate<R>(parents: (&Self, &Self), rng: &mut R) -> Self where R: Rng;
    fn mutate<R, F>(&mut self, rng: &mut R, mutator: F) where F: FnMut(&mut Ins), R: Rng;
    fn call<F>(&self, program: F) where F: FnOnce(&C);
}

impl<Ins> GeneticAlgorithm<Ins, Vec<Ins>> for Mep<Ins> where Ins: Clone {
    fn mate<R>(parents: (&Mep<Ins>, &Mep<Ins>), rng: &mut R) -> Mep<Ins> where R: Rng { panic!() }
    fn mutate<R, F>(&mut self, rng: &mut R, mut mutator: F) where F: FnMut(&mut Ins), R: Rng { panic!() }
    fn call<F>(&self, program: F) where F: FnOnce(&Vec<Ins>) {
        program(&self.instructions);
    }
}

3 个答案:

答案 0 :(得分:1)

创建另一个文件,将枚举移出您的班级,并将其设为public,以便原始班级可以访问这些文件。

namespace Class_Learning
{
    public enum colour
        {
            Red,
            Orange,
            Violet,
            Blue,
            Green,
            Black,
            Silver,
            White
        };

    public enum carMake
        {
            //No space between words. Hence in some cases underscores
            Acura,
            Alfa_Romeo,
            Aston_Martin,
            Audi,
            Bentley,
            BMW,
        };
}

答案 1 :(得分:0)

我花了很多时间才明白。所以我正在为像我这样错过基本原则的人详细介绍这个程序。

  1. 从项目菜单中点击添加新项目。
  2. 选择代码文件,然后单击添加。
  3. 您将看到一个空白窗口。
  4. 当您使用相同的命名空间时,此文件中不必使用using语句。
  5. 编写Grant Winney上面详细说明的代码。
  6. 在Form1代码中引用枚举时,请参考namespace.enumname.enumelement。

    谢谢。

答案 2 :(得分:0)

您可以通过右键单击项目并添加新类来创建纯代码文件。您将在同一名称空间中具有类定义,但在另一个.cs文件中。您可以删除该类并编写您的枚举,就像另一篇帖子所说的那样。