如何将图像资源的名称作为字符串获取

本文关键字:字符串 获取 图像 资源 | 更新日期: 2023-09-27 18:11:26

我尝试了一些方法来获得一个名称,包括调查PropertyItems和老式的ToString()方法,试图获得一个图像资源的名称作为一个字符串。

我在资源文件中有一个图像选择,命名为。我没有问题得到的图像显示使用resource.imageName。我想尝试得到 imageName 作为一个字符串,以减少错误和打字错误在我的代码的其他地方。

使用resource.imageName.ToString()为我提供了字符串System.Drawing.Bitmap

如何将图像资源的名称作为字符串获取

您可以创建一个函数:

public static string GetPropertyName<T>(Expression<Func<T>> propertyExpression)
{
    return (propertyExpression.Body as MemberExpression).Member.Name;
}

然后这样使用:

public class ClassName {
   public Foo { get; set; }
}
...
...
...
var inst = new ClassName();
var propertyName = GetPropertyName(() => inst.Foo);

这不是我谁想出这个,我把它从其他主题,并运行它,看看它是否有效,但我的浏览器崩溃了,我找不到链接到原来的主题。我一找到我的帖子就会编辑它。

编辑:我找到了!这就是我截取片段的地方。好运。

编辑2:如果你能得到资源。imageName,然后将它传递给GetPropertyName函数。如果没有,我想我的答案是不完整的

在Visual Studio 2015中可以使用nameof()

string s = nameof(Resource1.myfile); // s = "myfile"