c# - 动态加载资源文件

标签 c# wpf resources

我想动态加载一个资源文件。

如果我静态地做,显然效果很好:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources._88);
player.Play();

这会加载并播放资源 _88。

但是,我希望它是动态的,

我有一个变量“num”,它可以是 1-90 之间的任何数字,我想加载与该数字相关的资源。

所以我创建了另一个名为“soundURL”的变量,如下所示:

var soundURL = "_" + num;

但是当我将它与之前的一起使用时,它显然不起作用:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.soundURL);

我怎样才能克服这个问题?

最佳答案

您可以使用 ResourceManager 按名称加载资源

object O = Properties.Resources.ResourceManager.GetObject("_88");

然后您只需要将其转换为 Stream..

var s = (Stream)O;
System.Media.SoundPlayer player = new System.Media.SoundPlayer(s);
player.Play();

关于c# - 动态加载资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20663329/

相关文章:

javascript - 我/ Chrome : [INFO:CONSOLE(0)] "Not allowed to load local resource: file:///android_asset/downloader.png",

C# 扩展方法优先级

c# - 使用dia-sdk从microsoft pdb文件加载数据

c# - SQL 加密只返回第一个字符

c# - 缺少上下文菜单的库

c# - 嵌套的文本 block 和超链接,如何在 C# 中复制此 XAML?

WPF XAML 样式库

c# - 由于加载时未触发 NewDocument 事件,如何处理 Word DocumentChange 事件

java - Tomcat 中常用的 JNDI 资源

wpf - DataTemplate 中的 UserControl 未应用字体样式