質問

を使用していCodeDomをコードユーザーの値です。その一つの値の制御どのクラスの名前僕は生ます。思いが滅菌の名前に基づく言語の規約の有効なクラス名の正規表現を使用してもというのがある場合は特定方法の枠組みの検証および/または滅菌クラスの名前です。

役に立ちましたか?

解決

手軽に行うことができる場合は文字列が有効な識別子のクラスまたは変数のstaticメソッド

System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)

他のヒント

をご利用 CreateValidIdentifier 方法に CSharpCodeProvider クラスです。

CSharpCodeProvider codeProvider = new CSharpCodeProvider(); 
string sFixedName = codeProvider.CreateValidIdentifier("somePossiblyInvalidName"); 
CodeTypeDeclaration codeType = new CodeTypeDeclaration(sFixedName); 

を返します有効な名前にもたらされた入力します。また検証のないものとして、入力や出力に出力します。な変有効な入力、出力は同等です。

この答えに私の質問です。できる電話

CodeCompiler.ValidateIdentifiers(class1);

がクラス1であるCodeObjectに検証するすべての識別子とCodeDomツリーます。できるこの後すぐに私が作っCodeTypeDeclaration class1に検証するだけで、クラス名、またはごめんなさい...皆知ってたんで自CodeDomを呼び出すのに検証するすべての識別子は私のです。か!

public static bool IsReservedKeyWord(string identifier)
        {
            Microsoft.CSharp.CSharpCodeProvider csharpProvider = new Microsoft.CSharp.CSharpCodeProvider();
            return csharpProvider.IsValidIdentifier(identifier);
        }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top