Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何存储资源路径?_C#_Image - Fatal编程技术网

C# 如何存储资源路径?

C# 如何存储资源路径?,c#,image,C#,Image,我正在制作的程序很难解释,因为它是用于非常特定的个人用途,所以我将使用一个示例使其易于理解: 我在项目中有一个名为Person的类,它存储一张图像和一个人的名字。 所有图像都存储在项目资源中 如何保存资源路径/名称,以便在主程序(而不是Person类)上重用它? 例如,如果我在主程序中创建一个新的Person对象: Person p = new Person("Michael", Project.Properties.Resources.image); 在Person类中保存路径作为什么类型的

我正在制作的程序很难解释,因为它是用于非常特定的个人用途,所以我将使用一个示例使其易于理解:

我在项目中有一个名为
Person
的类,它存储一张图像和一个人的名字。 所有图像都存储在项目资源中

如何保存资源路径/名称,以便在主程序(而不是
Person
类)上重用它?

例如,如果我在主程序中创建一个新的
Person
对象:

Person p = new Person("Michael", Project.Properties.Resources.image);
Person
类中保存路径作为什么类型的变量

public Person(string name, ??? image)
请注意,我以后需要重用此图像

例如:

this.imageBox.Image = p.image;
我尝试使用
Image
Bitmap
对象,但它只是将
imageBox
更改为空(我认为它将
imageBox.Image
设置为
null
。此外,我非常确定使用
Bitmap
将复制图像的数据,并无缘无故使用更多内存)


我还尝试使用
Image.FromFile
并将路径作为字符串插入,但没有成功。

如果你想使用资源,就不应该乱搞路径。它们嵌入到部件中,可以从部件中重用

访问它们的最简单方法是使用生成的资源类Project.Properties.resources.Picture。变量的类型将是
图像

public Person(string name, Image picture)

如果你想,你甚至可以,但就我所知,这种情况似乎更严重。

现在再次尝试使用Image,结果发现我忘记了在类的构造函数中复制
Image
var的内容,因此该属性一直为null,这就是它不起作用的原因。现在工作,Thanks@M463不知道你是什么意思。。。这些图像作为资源存储在项目中。不过已经修好了,谢谢。我错过了部分。所有图片都存储在项目资源中。很高兴你把它修好了。