c# - 类库

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]

public class Object

 

1 public virtual bool Equels (Object)

2 public static bool static Equels (Object,Object)

默认实现为对引用类型使用引用相等,对值类型使用二进制按位相等。引用相等性是指进行比较的多个对象引用所引用的是同一个对象。按位相等性是指进行比较的多个对象具有相同的二进制表示形式。派生类可以通过继承实现值相等。

派生equals必须遵循的几个原则

1 x.equals(x)必须为true;,2 x.equals(y)和y.equals(x)必须返回相同值 3 如果x,y都是NaN,则x.Equals(y)返回true.

4 x.equals(z)=true,当且仅当x.equals(y)=true&&y.Equals(z)=true  5 x.Equals(Null)为false 6 不改变x,y指向的对象,x.Equals(y)返回值不变

 

Equals的实现不可以引发异常,实现IComparable类型,必须重写Equals.重写Equals必须也重写GetHashCode.

 

3 public virtual int GetHashCode()

特点: 如果两个对象相等,则hashcode必须相等。反过来不一定成立

 

 

4 public Type GetType()

表示当前实例的确切运行时类型

 

5 public static bool ReferenceEquals(Object,Object)  - 如果两者是同一个实例,或者都为空返回true,否则false;

 

6 Protected Object MemberwiseClone () - 拷贝当前对象的非静态成员,值类型进行逐位复制,引用类型则拷贝引用。

使用ICloneable接口实现深层复制

 

[ComVisibleAttribute(true)]

Public Interface ICloneable

 

1 Object Clone() 

 

 

 

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]

public abstract class Type:MemberInfo,_Type,IReflect

 

1  public static readonly char Delimiter  = .

2  Public static readonly Object Missing  = 返回system.reflection.missing 对象

3  public static readonly MemberFilter FilterNameIgnoreCase = 返回

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值