C# 代理人 Action<>
最近在寫C# CMD檔案 由於這種檔案都是由一個靜態的 static void Main(string[] args) 作為發起
因此命名function的時候都需要加一個static
static void ShowDirOrFile(SftpFile item){
//Todo....
}
但是最近看到一個寫法 是這樣
static void Main(string[] args) {
Action<SftpFile> ShowDirOrFile = (item) =>
{
//todo....
};
}
他直接寫進裡面 而呼叫也很簡單 像一般的呼叫即可
ShowDirOrFile (working_directory);
()內的值就是 item
另一種寫法 可以帶回傳值
#region Func 用於調整圖片大小
Func<string, (int width, int height)> GetImageDimensions = (path) =>
{
if (!File.Exists(path))
{
Console.WriteLine("找不到圖片");
return (-1, -1);
}
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
return (image.Width, image.Height);
};
#endregion
#region Func 用於調整圖片大小
Func<string, (int width, int height)> GetImageDimensions = (path) =>
{
if (!File.Exists(path))
{
Console.WriteLine("找不到圖片");
return (-1, -1);
}
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
return (image.Width, image.Height);
};
#endregion
參考:https://learn.microsoft.com/zh-tw/dotnet/api/system.action-1?view=net-8.0
https://www.tpisoftware.com/tpu/articleDetails/2645
留言
張貼留言