我想寫個 Generic Function 來讓輸入的 Function func 拋錯的時候回傳 null
static T? ExecuteGetNullable<T>(Func<T> func) where T : class? {
try {
return func.Invoke();
} catch {
return null;
}
}
這個用在 string type 編譯沒問題
static string? GetNullableString() {
return ExecuteGetNullable(() => {
return "";
});
}
可是用在 ulong type 的時候編譯器就不高興了
https://i.imgur.com/ZH7SmC9.png
static ulong? GetNullableUlong() {
return ExecuteGetNullable(() => {
return 0ul;
});
}
查了一下 string 是 class、ulong 是 struct,所以 type constraint 不符合
那有沒有辦法讓這個 generic function 同時接受 class? 跟 struct?
急
在線等