Как написать динамический код VB.net?
-
05-07-2019 - |
Вопрос
Например, у меня есть класс, и у него есть свои собственные свойства, и я передаю имя класса и имя свойства, которое будет вызвано в функцию
Скажем, например, exp - это переменная, которую я передаю, которая содержит значение = " ClassA, Property1 "
Function Property2BCalled(byval exp as String)
dim classname = split(exp,",")(0)
dim propertyname=split(exp,",")(1)
dim value= classname.propertyname
End Function
Я хочу сделать что-то подобное, приведенное выше.
Решение
Вы можете использовать отражение для выполнения этой задачи. Имейте в виду, что отражение медленное, но это можно сделать. Вы бы перечислили классы, доступные в вашей сборке, когда вы найдете совпадение имен, затем вы перечислите свойства, а затем вызовете метод / свойства и т. Д.
Но может быть лучше определить интерфейс, а затем иметь общую подпись, с которой ваш проект может взаимодействовать, тогда все, что вам нужно, - это фабрика, откачивающая соответствующий экземпляр класса, который входит в ваши данные.