举例如下:
//接口
public interface ValuePair {
object OldValue {get; set;}
object NewValue {get; set;}
}//实现的结构,注意,不是类
public struct IntPair {
public int OldValue {
get {......}
set {......}
} public int NewValue {
get {......}
set {......}
}
}上面这段代码,在VS2003中是编译不了的。不知如何实现这个方式。?我的目的是:
把一些常用数据的原始数据和修改数据放在一起,以便对应和比较。
所以要用轻便的结构。
//接口
public interface ValuePair {
object OldValue {get; set;}
object NewValue {get; set;}
}//实现的结构,注意,不是类
public struct IntPair {
public int OldValue {
get {......}
set {......}
} public int NewValue {
get {......}
set {......}
}
}上面这段代码,在VS2003中是编译不了的。不知如何实现这个方式。?我的目的是:
把一些常用数据的原始数据和修改数据放在一起,以便对应和比较。
所以要用轻便的结构。
public interface ValuePair {
object OldValue {get; set;}
object NewValue {get; set;}
}public struct IntPair : ValuePair {
public int OldValue {
get {......}
set {......}
} public int NewValue {
get {......}
set {......}
} object ValuePair.OldValue{
get{
return (object)OldValue;
}
set{
OldValue = (int)value;
}
} object ValuePair.NewValue{
get{}
set{}
}
}
你的做法倒是不错。不过接口的优点没有体现出来,那还不如不用接口呢。
2。显示接口实现是为了隐藏接口,间接实现返回值重载
3。使用结构实现的接口引发boxing,性能问题
4。可以改换实现方式,参照4个Compare方式