如何在c#中调用返回类方法
本文关键字:调用 返回 类方法 | 更新日期: 2023-09-27 17:50:31
我是c#新手。
基本上,我试图将字节类型的图像从数据库转换为可读的图像格式(显示字节作为实际图像)。我写了下面的代码,但是不知道如何调用类的方法。
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
我把它命名为下面但是在byteArrayToImage(ImageData);
下面有红线:
public Image Img = byteArrayToImage(ImageData);
知道是怎么回事吗?
你可能想把你的方法标记为static
public class YourClass
{
public static Image byteArrayToImage(byte[] byteArrayIn)
{
//Your code
}
}
然后在它的类
之外这样调用它public Image Img = YourClass.byteArrayToImage(ImageData);
如果你的类是这样的
public class MyClass
{
//some variables, methods, etc.
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
}
按如下方式调用,
public Image Img = new MyClass().byteArrayToImage(ImageData);
为什么?
因为要调用类的非静态方法,需要该类的对象/实例
- 可能ImageData不是一个字节[]
- 在全局字段初始化器中调用非静态方法
应该是:
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
public void MyMethod()
{
byte[] myData = <something>
Image Img = byteArrayToImage(myData);
}