Конструкторы C# с одинаковыми сигнатурами параметров
Есть несколько возможностей .net - то, что считается элегантным, зависит csharp от сценария использования.
-
Статические c-sharp фабричные методы, которые .net-framework вызывают частный конструктор.
static Thing thingWithFileName(string fileName)
-
Создайте visual-c# другой тип для одного из c-sharp параметров или используйте .net-framework встроенный. Вместо строкового dotnet имени файла вы можете использовать dot-net System.IO.FileStream. Это c-sharp также более безопасно по .cs-file типу, поскольку я не могу c#-language случайно передать неправильные c-sharp данные в неправильный статический .cs-file метод или поле.
-
Передайте .net-framework конструктору второй параметр, либо c#-language перечисление, либо логическое .cs-file значение, указывающее назначение c#.net первого параметра
enum ThingType { FileName, ConnectionString } Thing(string str, ThingType type) ...
-
Подкласс .net-framework Thing, поэтому у вас есть dot-net ConnectionTypeThing и FileBackedThing
-
Полностью dot-net исключите Вещь, выполняющую visual-c# его подключение, и предоставьте .net заранее подключенные источники csharp данных. Итак, вы получаете
Thing(InputStream dataSource)
или .net что-то подобное.
Мои деньги .net за «элегантность» идут либо dotnet на первое, либо на второе .cs-file предложение, но мне нужно .net-framework больше контекста, чтобы быть visual-c# довольным любым выбором.
c#
.net
Конструкторы C# с одинаковыми сигнатурами параметров
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.