Короткий вопрос: есть ли способ получить доступ к типам данных, доступным в приложении .net, как к группе (и, следовательно, запросить их с помощью LINQ).Вот так ...
Dim myType = from l in myapplication.availabledatatypes where l.name="name of type I want" select l
Более подробное объяснение: я пытаюсь переместить множество старых записей из таблиц в идентичные «архивные» таблицы с помощью Linq to SQL.В рамках этого процесса мне нужно выбрать записи из оперативной таблицы и преобразовать их в (идентичный) тип архива.Я пытаюсь сделать это чисто с помощью одного метода, который можно использовать для всех различных пар таблиц / архивных таблиц с помощью отражения, следуя этому превосходному руководству http://michaelmerrell.com/2010/08/converting-a-linq-object-to-a-similar-object/
Мой метод преобразования потребует вводавведите object и преобразуйте его в выходной объект типа type, который я затем планирую преобразовать в требуемый выходной тип в методе, который вызывает метод преобразования.Я могу получить свойство datacontext, которое имеет то же имя, что и тип, в который я хочу преобразовать, но я не могу программно получить тип с тем же именем.
Dim typeIamLookingFor as propertyInfo= from l in mydatacontext.getproperties where l.name.contains("archive") and l.name.contains(input.gettype.name) select l
Как выбрать из типов, доступных в моем пространстве имен, имя, имя которого совпадает с именем typeIamLookingFor.Очевидно, .getType возвращает тип PropertyInfo, но мне действительно нужен тип с именем = typeiamlookingfor.name
Edit Спасибо за предложения.Type.GetType приближает меня, но компилятор теперь говорит, что объект должен реализовывать IConvertible.Я собираюсь исследовать эту другую ошибку и принять этот ответ.
Dim output as object
Dim typeName as string = "namespace." & inputObject.gettype.name & "_Archive"
output = output = Convert.ChangeType(output, Type.GetType(typeName)) //generates error: Object Must Implement IConvertible