:이 링크를 통해CodeDOM에서 네임 스페이스 이름의 유효성을 검사하는 방법은 무엇입니까?
System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)
을 : '.'Is there a .NET function to validate a class name?이
그러나, 클래스 이름은 허용하지 않습니다 (OEM 기간) 네임 스페이스는 다음과 같을 수 있습니다. System.Linq
예를 들어 '.'허용. Regex
또는 네임 스페이스 이름을 확인하는 루프와 같은 옵션을 사용하기 전에이 작업을 위해 .NET에 메서드가 있는지 여부를 알고 싶습니다.
편집 :
실제 시나리오는 다음과 같습니다. 사용자는 텍스트 상자에서 클래스 이름과 네임 스페이스를 지정할 수 있습니다. 해당 클래스 이름과 네임 스페이스에 대해 생성 된 코드를 제공합니다. 사용자가 네임 스페이스의 클래스 이름과 Some.Namespace로 SomeClass를 입력 한 경우 다음 생성 된 코드는 다음과 같습니다 내가 그 두 이름을 사용자 유입을 검증 할 필요가 들어
namespace Some.Namespace
{
class SomeClass{}
}
합니다.
'CodeGenerator' 클래스에서 두 번째 방법을 살펴 보았습니다 : ValidateIdentifiers()? – svick
예 @svick,하지만 매개 변수는 내 전체 CodeObject를 요청합니다. 즉 ValidateIdentifiers (CodeObject e)입니다. 하지만 클래스 이름을 테스트하는 것만으로 문자열을 테스트하면됩니다 .... – Irshad
'CodeGenerator.ValidateIdentifiers (new CodeNamespace (namespaceName))'에 대한 임시 객체를 항상 만들 수 있습니다. – svick