zoukankan      html  css  js  c++  java
  • 如何使用GetManifestResourceStream

    在做开发时想要从程序集中加载一个xml文件数据,可是在运行后确取不到值,值始终是null。

    代码如下:

    Stream ss = this.GetType().Assembly.GetManifestResourceStream("TESTdemo.demo.FormDemo.xml");
    myControl.LoadDocument(ss, null);//ss为null;

    经查资料:GetManifestResourceStream中的资源清单,资源清单格式:命名空间.资源文件名,(注意:资源清单格式 加黑加粗以及加红的特殊点),

    所在的程序集的命名空间名为TESTdemo,直接在命名空间建立子文件demo,又在demo建立资源文件FormDemo.xml,所以上面的代码就用(“命名空间名”.“资源清单名”)

    如上代码运行后取得的值为null,经网上查找资料,原因是虽然资源清单在当前程序集下,但是还要将其属性设置为“嵌入资源”才行。

     若在其中的子文件夹下那么代码中就应该用(“命名空间名”.“子文件夹名”.“资源清单名”)  (此情况本人已测试可以获得数据,重要路径正确就可以,见最后一个图)

    设置如下:

           工程中右键单击资源清单文件(FormDemo.xml),选择属性(Properties)。

           

    若在其中的子文件夹下那么代码中就应该用(“命名空间名”.“子文件夹名”.“资源清单名”)  (此情况本人已测试可以获得数据)

  • 相关阅读:
    code1135 选择客栈
    code3289 花匠
    code1167 树网的核
    线段树
    二分图 and code1170 双栈排序
    code1001 舒适的路线
    svg的自述
    a链接bug
    去除a标签链接触摸时产生边框
    前端资源收藏
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/5306634.html
Copyright © 2011-2022 走看看