Я хочу сделать свою программу «модульной», и мне интересно, если я правильно подхожу к этому.Написание модульной программы
Что я имею в виду, это то, что я хочу иметь многоразовый «обрабатывающий» материал, содержащийся в его собственных файлах C#. Таким образом, я мог бы просто скопировать файлы между проектами, чтобы иметь возможность повторно использовать мой код. Поскольку это, вероятно, не имеет смысла, позвольте мне объяснить с помощью примера.
Program.cs
static class Program
{
static void Main()
{
int[] x = {0, 0, 0, 0, 0};
BClass b = new BClass(x);
Console.Write("[ ");
foreach (int i in x)
{
Console.Write(i + " ");
}
Console.Write("]\n");
Console.Read();
}
}
BClass.cs
class BClass
{
int[] x;
public BClass(int[] x)
{
for (int i = 1; i < 5; i++)
{
x[i] = i;
}
}
}
Теперь, это работает отлично, я получаю выход я бы ожидать, но он чувствует себя неправильно, я Угадай? В дополнение к моим чувствам кишки, я получаю предупреждения (как и ожидалось), потому что объект BClass
не используется. В конечном счете, мой вопрос: Каков наилучший способ сделать такую модульную программу? Использование класса кажется неправильным, потому что я получаю ссылку на объект, который никогда не будет использоваться. Возможно, я неправильно использую класс?
1-Субъективные вопросы, как это будет, безусловно, закрыт на С.О. 2-Создание класса - хорошая идея, но вместо того, чтобы делать что-то в конструкторе, просто создавайте статические функции и используйте их, вам совсем не нужен экземпляр BClass. 3. Если вы действительно хотите повторно использовать код, поместите эти классы в библиотеку классов, лучше, чем копировать файлы между проектами. – Gusman
как объяснить объяснение того, что вы пытаетесь выполнить, не публикуя весь код 'python', который не имеет отношения к C#, если вы не понимаете Классы и как они работают, а также управляемая событиями программа в отношении C#, возможно, вы должны сделайте еще некоторое чтение, чтобы понять различия между тем, как делаются в .net vs python .. модульные или нет. – MethodMan
@ Гусман Я не думал, что это было очень субъективно, я отредактировал заголовок, чтобы уточнить. В моей программе обработка выполняется в статических методах, а не в конструкторе, это был простой пример, однако мне нужно передать значения и как таковой я использовал конструктор. – maccartm