我有一个嵌入式资源(包含在执行程序集中),可以使用以下命令获取:
Assembly.GetExecutingAssembly().GetManifestResourceStream("<MyNamespace>.<File>")
如果程序集的命名空间发生了变化,我必须找到字符串中包含的所有地方。为了避免这种情况,我想动态获取命名空间。是否有可能获得程序集的命名空间或让我使用固定值?
感谢您的回复。
答案 0 :(得分:3)
您可以在该命名空间中定义虚拟类型,并从该类型中提取命名空间:
public class TestType
{
}
var obj = new TestType();
var ns = obj.GetType().Namespace;
编辑:当然,如果命名空间是现有程序集的一部分并且您可以访问它的源代码,那么这是一个很好的解决方案