Irs*_*had 2 c# codedom namespaces validating
我使用SE中的CodeDOM找到了类名验证方法,我用它:
System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string value)
通过此链接:是否有.NET函数来验证类名?
但是,类名不允许'.' (OEM期间)名称空间可以是这样的:
System.Linq例如,允许'.'.在寻找Regex用于验证命名空间名称的选项或循环之前,我想知道.NET中是否有任何方法可用于此任务.
编辑:
实际情况是,我有一个来自.用户可以从文本框中提供类名和命名空间.对于该类名和命名空间,我将提供生成的代码.如果用户输入SomeClass作为类名,Some.Namespace作为名称空间,则生成的代码将为:
namespace Some.Namespace
{
class SomeClass{}
}
Run Code Online (Sandbox Code Playgroud)
为此,我需要验证用户输入的这两个名称.
我尝试了不同的方法,它对我有用.
public bool IsValidNamespace(string input)
{
//Split the string from '.' and check each part for validity
string[] strArray = input.Split('.');
foreach (string item in strArray)
{
if (! CodeGenerator.IsValidLanguageIndependentIdentifier(item))
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)