VB.NET:获取程序集的命名空间

时间:2013-04-16 07:14:10

标签: vb.net namespaces embedded-resource .net-assembly

我有一个嵌入式资源(包含在执行程序集中),可以使用以下命令获取:

Assembly.GetExecutingAssembly().GetManifestResourceStream("<MyNamespace>.<File>")

如果程序集的命名空间发生了变化,我必须找到字符串中包含的所有地方。为了避免这种情况,我想动态获取命名空间。是否有可能获得程序集的命名空间或让我使用固定值?

感谢您的回复。

1 个答案:

答案 0 :(得分:3)

您可以在该命名空间中定义虚拟类型,并从该类型中提取命名空间:

public class TestType
{
}

var obj = new TestType();
var ns = obj.GetType().Namespace;

编辑:当然,如果命名空间是现有程序集的一部分并且您可以访问它的源代码,那么这是一个很好的解决方案