if ((!s.IsValidCashFlow) && (s.Cash.InvalidCashFlowReason == InvalidCashFlowReason.IAmAPoorMF))
我猜你不能在C#中做到这一点? isValidCashFlow是一个bool属性
更新
错误实际上在我的.ascx中,错误的地方:
<div id="Div1" " runat="server" visible="<%#(!Container.DataItem.IsValidCashFlow && (Product)Container.DataItem.Product)InvalidCashFlowReason == InvalidCashFlowReason.IAmAPoorMF %>">
已解决:我在编译器混淆时添加了extra():
<div id="Div1" " runat="server" visible="<%#(!Container.DataItem.IsValidCashFlow && ((Product)Container.DataItem.Product)InvalidCashFlowReason == InvalidCashFlowReason.IAmAPoorMF) %>">
答案 0 :(得分:3)
您可以在布尔之间应用&&
。条件中的所有内容都会评估为bool,因此如果&&
有效,则会将其应用于多个bool值。
答案 1 :(得分:1)
你绝对可以这样做,但必须有其他事情发生。您能提供更完整的代码示例,并打印编译器错误吗?
答案 2 :(得分:0)
无法重现:
var t = new { InvalidCashFlowReason = InvalidCashFlowReason.IAmAPoorMF};
var s = new {IsValidCashFlow = true, Cash = t};
if ((!s.IsValidCashFlow) &&
(s.Cash.InvalidCashFlowReason == InvalidCashFlowReason.IAmAPoorMF))
{}
您使用的完全编译器版本是什么?还有其他不妥之处吗?