C#VOID参数(选项列表)

本文关键字:列表 选项 参数 C#VOID | 更新日期: 2023-09-27 18:21:40

我正在编写一个返回图像的函数。输入参数为:

URL*宽度*高度*格式(图像类型)JPEG、PNG、BMP

  • 是可选的

我遇到的问题是,我不想把"Format"作为字符串,然后在上面使用开关盒

我想在函数中声明,JPEG、PNG、BMP是你可以选择的,没有其他!

我找到了一个exempel,你可以用ENUM创建一个类,然后把你的选项放在那里。然后将其添加到函数中作为引用。

但我很确定,我已经读到,你可以在不使用类的情况下直接将选项值放在函数中,所以如果可能的话?你是怎么做到的?

C#VOID参数(选项列表)

只需像这样声明一个enum

enum FileType
{ JPEG, PNG, BMP }

并将其用于您的方法:

public void Method( string url = null
                  , int? width = null
                  , int? height = null
                  , FileType format = FileType.PNG
                  )
{
    // use a switch to check the value of format
}

作为奖励,您有自己的可选字段,如果没有提供,则用默认值填充。对于heightwidth,您可以从源图像中获取实际值(如果有的话)。否则,我将使它们成为int,而不是可为空的intint?)。