Динамическое перечисление передается в качестве параметра класса для создания словаря
Привет,
я не уверен, что это вообще возможно, и я пробовал сам, но, похоже, ничего не могу с этим поделать:
у меня есть несколько подклассов, которые выполняют кучу SQL-операторов и хранят значения в подклассах, одним из недостатков этого является то, что мне приходится настраивать свойства под каждым классом для хранения значений.
Мои мысли о том, где создать класс, который может быть унаследован или что-то в родительском классе, чтобы я мог передать перечисление (перечисление содержит все имена полей и порядковый номер), дочерний класс затем создаст словарь этого перечисления и строку для хранения значений.
Создавая словарь как таковой, я могу использовать один общий класс для хранения всех параметров без необходимости выписывать свойства и класс в каждом классе, который у меня есть, просто пытаясь избежать повторяющегося кода повсюду (pet hate)
зачем писать что-то 20 раз, когда вы можете написать адаптируемый класс для удовлетворения ваших потребностей! :)
Итак, просто чтобы уточнить. Я хочу передать кучу разных перечислений одному и тому же методу создания экземпляра класса, а затем преобразовать его в словарь переданного перечисления и строки, но из-за того, что передаются разные перечисления, это должно быть сделано на лету, если это имеет смысл? Поэтому, как только словарь заполнен, и я использую
Dictionary[]
затем он приносит мне список членов enum?Как это statnds 'EnumObj'
this.objDict = new Dictionary<EnumObj, String>();
основные моменты с его сообщением об ошибке
The type or namespace name 'EnumObj' could not be found (are you missing a using directive or an assembly reference?)
Вот базовый пример кода, с которым я работаю
class ParentClass { /// <summary> /// Holds the properties /// </summary> public ChildClass Properties; public ParentClass() { this.Properties = new ChildClass(typeof(MyEnum)); } enum MyEnum { col1 = 1, col2 = 2, col3 = 3 } } /// <summary> /// Holds the properties values for the array record /// </summary> public class ChildClass { private Object objDict; public ChildClass(Type EnumObj) { this.objDict = new Dictionary<EnumObj, String>(); } public ChildClass(Object EnumObj) { this.objDict = new Dictionary<typeof(EnumObj), String>(); } }
Что я уже пробовал:
Различные варианты передачи метода, я пытался передать перечисление как объект, а не как тип, а затем преобразовать его.