为了在下一次启动时持久化对象并还原它们,XML序列化已经完成了非常好的工作。但是,我目前在Microsoft.SqlServer.Management.Smo命名空间中遇到了Microsoft.SqlServer.Management.Smo类的问题。
序列化对象会产生如下所示的XML片段。但是,当我试图反序列化它时,XmlSerializer抛出一个异常:
There is an error in XML document (n,n)
内部异常是一个InvalidOperationException:
Instance is read-only
堆栈跟踪(下面还包括)标识它正
我不允许使用==或/=,但我不知道如何不用它们重写它。
iffC x y =
if x == True && y == True then True
else if x == False && y == False then True
else False
iffG x y
| y == True && x == True = True
| y == False && x == False = True
| otherwise = False
在Haskell中,如何才能解决问题(不使用函数而不是类型):
重写(和True False) = False
重写(和(和真假)真)=假..。
我尝试了以下方法
data MyLogic f a = And f a deriving Show
rewrite(And a b)
| a == False = False
| b == False = False
| otherwise = True
rewrite(And (And a b) c) = ...
但是haskell编译器抱怨说,在第一次重写时,可能不是bool。
在LLVM中的项目中,它写道:
/* Don't define bool, true, and false in C++, except as a GNU extension. */
#ifndef __cplusplus
#define bool _Bool
#define true 1
#define false 0
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
/* Define _Bool, bool, false, true as a GNU extension. */
#define _Bool b