我想写个 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?
急
在线等