【问题标题】:Get Folder Address In DLL获取DLL中的文件夹地址
【发布时间】:2012-11-10 05:33:31
【问题描述】:

根据这些图片:

我在 Main.data 项目中有一个名为 Gallery 的文件夹。 我在主项目中添加了 Main.Data.Dll 作为参考。 我想以主窗口形式显示这些图像。我将图像构建操作更改为资源。 我想知道如何在主项目中获取这个文件夹地址?

在主窗口中:

 private void LoadImages()
        {
            foreach (var imgaddress in Directory.GetFiles((Here), "*.jpg", SearchOption.AllDirectories))
            {
                //Do Some...
            }
        }

我必须写什么(这里)?

【问题讨论】:

    标签: wpf dll


    【解决方案1】:

    可能有一个更优雅的解决方案,但这样的事情会为您提供 Main.Data 中所有 jpg 的资源字符串或 URI:

    private void LoadImages ()
    {
        var asm = Assembly.LoadFrom("Main.Data.dll");
        var rm = new System.Resources.ResourceManager(asm.GetName().Name + ".g", asm);
        var resourceSet = rm.GetResourceSet(Thread.CurrentThread.CurrentCulture, true, true);
        var resourceUris = new List<Uri>();
        var resourceStrings = new List<String>();
        foreach (var resource in
            resourceSet.Cast<DictionaryEntry>().Where(resource => ((string) resource.Key).EndsWith("jpg")))
        {
            resourceStrings.Add((string)resource.Key);
            resourceUris.Add(
                new Uri(String.Format("pack://application:,,,/Main.Data;component/{0}",
                                        ((string) resource.Key))));
        }
    
        rm.ReleaseAllResources();
    
        // Do something with resourceStrings or resourceUris...
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-14
      • 2014-02-18
      • 1970-01-01
      • 2016-10-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 2014-12-04
      相关资源
      最近更新 更多