.NET 4.x Класс в классе? Или как-то по другому - C#

Узнай цену своей работы

Формулировка задачи:

public class Templates()
{
  public string PathToTemplates{get;set;}
  public FileNames FileNames {get;set;}
}
 
public class FileNames()
{
  public const string AReportFileName = "Areport.txt"
  public const string BReportFileName = "Breport.txt"
  ...
  public const string ZReportFileName = "Zreport.txt"
}
Как сделать так, чтобы FileNames был доступен только из

Templates

? Или как переделать всё так, чтобы все A-Z имена были доступны через IntelliSenсe в классе Templates?
Смысл действа вообще: это последующая компоновка
PathToTemplates+FileName.AReportFileName При этом PathToTemplates с легкостью меняется через настройки приложения. Имена файлов (AReportFileName ...) - неизменны.
Можно и энумами запихивать, но блин одно дело имя вменяемого энума, а другое дело ещё и вытягивать из него потом что то. Типа такого не хочется:
public enum EFileNames
    {
        [Description("Areport.txt")]
        AReportFileName,
 
        [Description("Breport.txt")]
        BReportFileName,
...
    }

Решение задачи: «.NET 4.x Класс в классе? Или как-то по другому»

textual
Листинг программы
public class Templates
{
  private static class FileNames
  {
    public const string AReportFileName = "Areport.txt"
    public const string BReportFileName = "Breport.txt"
    ...
    public const string ZReportFileName = "Zreport.txt"
  }
 
  public string PathToTemplates{get;set;}
}

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы