я нашел метод проверки имени класса с использованием CodeDOM от SE, и я использовал его:Как проверить имя пространства имен в CodeDOM?
System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)
по этой ссылке: Is there a .NET function to validate a class name?
Но имена классов не позволяют ". (Период OEM), где пространства имен могут быть примерно такими: System.Linq
например, который позволяет «.». Прежде чем перейти к таким параметрам, как Regex
или циклы для проверки имен пространства имен, мне нравится знать, существуют ли какие-либо методы в .NET для этой задачи.
EDIT:
Фактический сценарий, у меня есть с. Пользователь может указать имя класса и пространство имен из текстовых полей. Для этого класса и пространства имен я дам сгенерированный код. Если пользователь ввел SomeClass в качестве имени класса и Some.Namespace для пространства имен, то сгенерированный код будет:
namespace Some.Namespace
{
class SomeClass{}
}
За то, что мне нужно подтверждать эти два имени пользователя ввод.
Вы посмотрели на второй метод в классе «CodeGenerator»: 'ValidateIdentifiers()'? – svick
Да @svick, но этот параметр запрашивает весь мой CodeObject. то есть 'ValidateIdentifiers (CodeObject e)'. Но мне нужно только проверить строку, как я тестирую имя_файла .... – Irshad
Вы всегда можете создать для этого временный объект: 'CodeGenerator.ValidateIdentifiers (новое пространство имен CodeNamespace (namespaceName))'. – svick