Каким образом можно вынести описание функции в отдельный файл?

Рейтинг: 1Ответов: 2Опубликовано: 23.02.2015

У меня есть длинные функции, которые, для удобства, хочется разместить в отдельных файлах. Как правильно должен составляться такой файл? Насколько понимаю, требуется расширять класс Program или что-то в этом роде. Но как именно?

На всякий случай упомяну, что мне нужна, просто, функция, не связанная ни с какими классами.

Ответы

▲ 5Принят

Согласен с @DreamChild, что при нормальном написании кода потребности в таких странностях обычно не возникает, но если уж очень хочется, то можно использовать partial:

В одном файле:

public partial class TestApp
{
    public static void Main()
    {
        Console.WriteLine(TestMethod());
        Console.ReadKey();
    }
}

в другом:

public partial class TestApp
{
    public static string TestMethod()
    {
        return "!!!";
    }
}
▲ 3

На всякий случай упомяну, что мне нужна, просто, функция, не связанная ни с какими классами

Такое в C# невозможно. Это полностью объектно-ориентированный язык, и функции (точнее, методы - в C# нет понятия "функция") могут находиться только в составе класса. Класс, впрочем, может быть статическим и по сути являться пространством имен для методов, однако методов без класса в шарпе быть не может.