【发布时间】:2020-02-05 11:36:43
【问题描述】:
我想编写一个包含bool 值和消息的类。该消息用于解释为什么类包含错误值。当我使用这个类时,我想将它转换为 bool,它会返回 bool 值而不是获取属性。这可能吗?
public class ReturnResult
{
public ReturnResult(bool state, string message)
{
IsSuccess = state;
ErrorMessage = message;
}
public bool IsSuccess
{
get;
private set;
}
public string ErrorMessage
{
get;
private set;
}
}
我想做以下事情
ReturnResult rr = CallSomeFunction(a,b,c);
if ((bool) rr) {
// it is good
}
else {
// it is bad
}
【问题讨论】:
-
为什么不做 if(rr.IsSuccess) ?
-
我强烈建议使用@auburg 提供的解决方案。它直截了当,易于阅读,并不意味着必须根据状态了解不同类型的
ReturnResult。 -
只是出于好奇:这是否意味着您也想将其转换为
(string)以获取ErrorMessage? -
嗨 Monh Zhu,不,因为我认为这很混乱。
-
好吧,顺便说一句,如果您想直接称呼某人,请在姓名前使用 @,然后此人会收到通知。
标签: c# casting boolean operator-overloading