저는 CodeDom을 사용하여 사용자 값을 기반으로 동적 코드를 생성하고 있습니다. 이러한 값 중 하나는 내가 생성하는 클래스 이름이 무엇인지 제어합니다. 정규 표현식을 사용하여 유효한 클래스 이름에 대한 언어 규칙을 기반으로 이름을 소독 할 수 있다는 것을 알고 있지만 클래스 이름을 확인 및/또는 소독하기위한 프레임 워크에 특정 메서드가 내장되어 있는지 알고 싶습니다.클래스 이름의 유효성을 검사하는 .NET 함수가 있습니까?
21
A
답변
25
문자열 클래스 또는 변수에 대한 유효한 식별자인지 확인하는 쉬운 방법은 정적 방법
System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)
2
내 질문에 대한 답변을 찾았습니다. 전화 할 수 있습니다
CodeCompiler.ValidateIdentifiers(class1);
여기서 class1은 해당 CodeDom 트리 및 그 아래의 모든 식별자를 확인하는 CodeObject입니다. 따라서 클래스 이름의 유효성을 검사하기 위해 ClassTypeDeclaration class1을 작성한 후에이 코드를 호출 할 수 있습니다. 또는 코드북을 빌드 한 다음이 코드를 호출하여 트리의 모든 식별자의 유효성을 검사 할 수 있습니다. 내가 필요한 것!
7
CSharpCodeProvider
클래스의 CreateValidIdentifier
메서드를 사용하십시오.
CSharpCodeProvider codeProvider = new CSharpCodeProvider();
string sFixedName = codeProvider.CreateValidIdentifier("somePossiblyInvalidName");
CodeTypeDeclaration codeType = new CodeTypeDeclaration(sFixedName);
일부 입력에서 유효한 이름을 반환합니다. 이름을 확인하고 수정하지 않으려면 입력 및 출력을 비교하십시오. 유효한 입력을 변경하지 않으므로 출력은 동일합니다.
1
public static bool IsReservedKeyWord(string identifier)
{
Microsoft.CSharp.CSharpCodeProvider csharpProvider = new Microsoft.CSharp.CSharpCodeProvider();
return csharpProvider.IsValidIdentifier(identifier);
}
관련 문제
- 1. 배열 유효성을 검사하는 PHP 함수
- 2. Codeigniter 같은 이름의 여러 텍스트 입력 배열의 유효성을 검사하는 방법?
- 3. 루아에서 패턴의 유효성을 검사하는 방법
- 4. 컨트롤러에서 유효성을 검사하는 방법
- 5. JTextField 유효성을 검사하는 방법?
- 6. URL 유효성을 검사하는 NSRegularExpression
- 7. hAtom 마이크로 포맷의 유효성을 검사하는 방법이 있습니까?
- 8. Android에서 XML 문서의 유효성을 검사하는 방법이 있습니까?
- 9. jQuery 코드의 유효성을 검사하는 플러그인이 있습니까?
- 10. 숫자 만 유효성을 검사하는 정규식?
- 11. Markdown의 유효성을 검사하는 방법은 무엇입니까?
- 12. simplejson으로 JSON의 유효성을 검사하는 방법
- 13. JSF에서 datatable의 유효성을 검사하는 방법
- 14. NSUserdefaults의 문자열 유효성을 검사하는 방법
- 15. .NET Windows Forms의 유효성을 검사하는 올바른 방법은 무엇입니까?
- 16. 정규 표현식의 유효성을 검사하는 방법은 무엇입니까?
- 17. CSS 선택기의 유효성을 검사하는 방향은 무엇입니까?
- 18. 전체 사이트의 유효성을 검사하는 방법은 무엇입니까?
- 19. W3C.org에서 PHP 파일의 유효성을 검사하는 방법
- 20. 이 양식 페이지 xhtml의 유효성을 검사하는 중입니다. 유효성을 검사하지 않습니다.
- 21. WYSIWYG - 소스 코드 유효성을 검사하는 편집기
- 22. JSON 개체의 유효성을 검사하는 방법은 무엇입니까?
- 23. DTD에 대해 유효성을 검사하는 Qt C++ XML?
- 24. php - 정규식 자체의 유효성을 검사하는 방법은 무엇입니까?
- 25. 문자열의 유효성을 검사하는 방법은 무엇입니까? 정규식 사용
- 26. 동적 맵 요소의 유효성을 검사하는 방법
- 27. 입력 형식의 유효성을 검사하는 방법 = 'file'with javascript?
- 28. HTTP 응답의 유효성을 검사하는 도구는 무엇입니까?
- 29. FluentValidation을 사용하여 DateTime으로 문자열 유효성을 검사하는 방법
- 30. Django : 모델 내에서 unique_together의 유효성을 검사하는 방법
를 호출하는 것입니다이 모든 그것이 예약과 충돌하는 경우 식별자의 이름을 변경하는 것입니다 않습니다 워드. 전달 된 값에 유효하지 않은 문자가있는 경우 유효한 식별자를 만들지 않습니다. 따라서이 방법이 유용하지만 새로운 코드 유형을 만들기 전에 모든 일이 필요하지는 않습니다. – Zach