Класс ArabicToRoman
выглядит как типичный вспомогательный класс, в прошедшие дни вы просто сделали его общедоступным и статичным
public static class ArabicToRoman
{
private static string[] Tausender = { "", "M", "MM", "MMM" };
private static string[] Hunderter = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
private static string[] Zehner = { "", "X", "XX", "XXX", "XL", "L", "LX" , "LXX", "LXXX", "XC" };
private static string[] Einer = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
public static string Convert(int arabic)
{
...
}
}
Usage
Вы можете вызвать это из любого места, где есть доступ к сборке
ArabicToRoman.Convert(234);
Вы также можете просто сделать ваши классы и методы общедоступными
public class ArabicToRoman
{
private string[] Tausender = { "", "M", "MM", "MMM" };
private string[] Hunderter = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
private string[] Zehner = { "", "X", "XX", "XXX", "XL", "L", "LX" , "LXX", "LXXX", "XC" };
private string[] Einer = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
public string Convert(int arabic)
{
...
}
}
Использование
Еще раз вы вызываете это везде, где есть доступ к сборке, в которой он находится
var converter = new ArabicToRoman();
converter.Convert(345);
Однако в наши дни существует большой толчок для Внедрение зависимостей DI и Сервисная архитектура. Вы можете сделать это одноэлементным Сервисом и внедрить ваши конвертеры. Однако это спорно, а также.
Для вашего случая и вашего уровня понимания статические классы или создаваемый класс кажутся подходящими
Дополнительная литература
статический (C # Reference)
Используйте модификатор static, чтобы объявить статический член, который принадлежит
сам тип, а не конкретный объект. Статический модификатор
может использоваться с классами, полями, методами, свойствами, операторами,
события и конструкторы, но это не может быть использовано с индексаторами,
финализаторы или типы, отличные от классов.