1

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

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

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

感谢您的任何回复。

4

1 回答 1

4

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

public class TestType
{
}

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

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

于 2013-04-16T16:55:35.480 回答