У меня есть проект VSTO (Excel), написанный на C#. Три вопроса:Как структурировать классы в C#-программе
У меня есть много переменных, которые заполняются один раз, а затем широко используются во всем проекте. Поэтому я создал публичный статический класс, который я назвал «Omni» - поскольку это и описательно, и коротко. Что-то вроде этого рекомендуется?
Я поместил общие функции в открытый статический класс, который я назвал «Утилиты». Затем я использовал ключевое слово «this» в качестве первого параметра, создавая их методы расширения. Затем их можно получить из любого места - без использования «Утилиты». префикс (хотя я не совсем уверен, почему). Тот же вопрос: это предпочтительный способ сделать это?
Наконец, у меня есть общие «подпрограммы», т. Е. Общедоступные методы void. Таким образом, параметры передаются и обрабатываются, но ничего не возвращается. Должен ли такой общий код просто перейти в свой собственный общедоступный статический класс, а затем получить вызов с именем класса в качестве префикса? Если да, существует ли какое-либо соглашение относительно того, каким будет имя класса?
Я понимаю, что это вопросы типа новичка (и я искал какое-то время!). Благодарю.
Re мой первый пункт, мой Omni класс **. ** включая любые перечисления. Большинство хранящихся там значений получены из внешних источников данных (например, списка кодов продуктов). – COG
Re мой первый пункт, мой класс Omni ** ** включает любые перечисления. Однако почти все сохраненные там значения получены из внешних источников данных (например, списка кодов продуктов). Повторяю мой второй пункт, они обычно ** не ** конверсии. Примером может служить открытый статический метод bool, называемый IsInCollection. Параметры, переданные в, представляют собой коллекцию и элемент. Метод возвращает, является ли данный элемент в данной коллекции. Если не обрабатывается как метод расширения, каков рекомендуемый способ сделать это? Отдельный ответ, чтобы следовать моему третьему вопросу (!) – COG
Re 3-й элемент, поскольку он по существу является приложением Excel, классы соответствуют листам Excel. Внутри нескольких я их у меня есть общий код, который нужно запустить. Но, конечно, я только хочу, чтобы он появился в одном месте. Например, на нескольких листах у меня есть данные, возвращаемые из SQL-запроса, которые должны заполнять лист, а затем анализироваться, форматироваться и т. Д. И код является общим - учитывая блок возвращаемых данных, имя листа и верхний левый ячейку диапазона, где данные должны быть вставлены. – COG