C#:找不到命名空间的任何异常?

问题描述 投票:0回答:1

是否存在在 C#“using”语句中声明的命名空间不存在时引发的特定异常?

我想要这样的代码结构:

public class TestClass {
    public bool CheckNamespace() {
        try
        {
            using Not.Existing.CsNamespace;
            return true;
        }
        catch( ???Exception e )
        {
            return false
        }
    }
}

我正在考虑这个,因为我希望有一个 Cs 脚本能够检查给定的命名空间是否存在。我正在使用 Unity(也许它存在另一种比这个想法更好的秘密方法或技巧)。

谢谢! ;)

大家好,

是否存在在 C#“using”语句中声明的命名空间不存在时引发的特定异常?

我想要这样的代码结构:

public class TestClass {
    public bool CheckNamespace() {
        try
        {
            using Not.Existing.CsNamespace;
            return true;
        }
        catch( ???Exception e )
        {
            return false
        }
    }
}

我正在考虑这个,因为我希望有一个 Cs 脚本能够检查给定的命名空间是否存在。我正在使用 Unity(也许它存在另一种比这个想法更好的秘密方法或技巧)。

谢谢! ;)

c# unity3d
1个回答
0
投票

您可以使用 System.Reflection 库和下面的代码来检查您的项目中是否存在某个命名空间。如果找到命名空间,则该方法返回 true,如果未找到命名空间,则返回 false。

using System.Reflection;
public bool NameSpaceExists(string namespace){
var exists = false;
//loop through the assemblies and check the namespaces against ours
  foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
        {
            foreach (Type type in assembly.GetTypes())
            {
                if (type.Namespace == namespace)
                {
                    exists = true;
                }
            }
        }
      return exists;
}
© www.soinside.com 2019 - 2024. All rights reserved.