SEのCodeDOMを使用したクラス名の検証方法を見つけ、それを使用しました:
System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)
このリンクから:クラス名を検証する .NET 関数はありますか?
ただし、クラス名には「.」を使用できません。(OEM 期間) 名前空間は次のよう
System.Linq
になります。たとえば、「.」を許可します。名前空間名を検証するための や loopsなどのオプションを検討する前にRegex
、.NET にこのタスク用のメソッドがあるかどうかを知りたいと思います。
編集:
実際のシナリオは、私にはからがあります。ユーザーは、テキスト ボックスからクラス名と名前空間を指定できます。そのクラス名と名前空間に対して、生成されたコードを提供します。ユーザーがクラス名として SomeClass を入力し、名前空間として Some.Namespace を入力した場合、生成されるコードは次のようになります。
namespace Some.Namespace
{
class SomeClass{}
}
そのためには、ユーザーが入力した 2 つの名前を検証する必要があります。