«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как определить тип объекта из его строкового представления в C#?

Как определить тип объекта из его строкового представления в C#?

Опубликовано в 2025-02-08
Просматривать:238

C# определяет тип объекта на основе представления строки

]

в C#, строка, содержащая имя типа, может быть преобразована в соответствующий объект типа. Тем не менее, метод, используемый для этого преобразования, зависит от того, определяется ли тип в той же сборке, что и в вызывающем коде, или в другой сборке.

]

используйте type.gettype (string)

]]

Если тип определен в той же сборке, вы можете использовать метод type.getType (string) и предоставить полностью квалифицированное имя типа в качестве строки. Например, чтобы получить type int тип данных, вы можете использовать:

]
Type.GetType("System.Int32");
]]

используйте assembly.gettype (string)

]]]

, если тип определяется в другой сборке, вам также необходимо предоставить имя сборки. Он может быть реализован с использованием метода adsembly.gettype (string) . Сначала получите ссылку на сборку, а затем используйте эту ссылку, чтобы получить type :

]
Assembly asm = typeof(SomeKnownType).Assembly;
Type type = asm.GetType("Namespace.MyClass");
]

квалификации пространства имен и сборки

]

убедитесь, что пространство имен типа включено в строку, предоставленную type.getType () или assembly.gettype () . Кроме того, для сильно названных собраний может потребоваться включить полную идентичность сборки, включая версию, культуру и теги открытого ключа.

]

образец сцены

]

рассмотрим следующий сценарий, в котором строка содержит полностью квалифицированное имя типа:

string typeName = "Namespace.MyClass, MyAssembly";
]

в зависимости от того, вы можете использовать myassembly ], вы можете использовать type.gettype () или adsembly.gettype () :

// 如果 MyAssembly 被引用
Type type1 = Type.GetType(typeName);

// 如果 MyAssembly 未被引用
Assembly asm = typeof(SomeKnownType).Assembly;
Type type2 = asm.GetType(typeName);
]

How to Determine Object Type from its String Representation in C#?

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3