1 ///*************************************************************************/ 2 ///* 3 ///* 文件名 :ItemObject.cs 4 ///* 程序说明 : 用于扩展Tag标记的自定义对象 5 ///* 原创作者 : 6 ///* 7 ///* Copyright 2010-2011 8 ///**************************************************************************/ 9 10 using System; 11 using System.Collections.Generic; 12 using System.Text; 13 14 namespace LogisticsPlatform.Common 15 { 16 /// <summary> 17 /// 用于扩展Tag标记的自定义对象 18 /// </summary> 19 public class TagObject 20 { 21 private string _KeyName; 22 private object _Value; 23 24 public TagObject() { } 25 public TagObject(string keyName, object value) 26 { 27 KeyName = keyName; 28 Value = value; 29 } 30 31 /// <summary> 32 /// 对象引用 33 /// </summary> 34 public object Value 35 { 36 get { return _Value; } 37 set { _Value = value; } 38 } 39 40 /// <summary> 41 /// 键 42 /// </summary> 43 public string KeyName 44 { 45 get { return _KeyName; } 46 set { _KeyName = value; } 47 } 48 49 /// <summary> 50 /// 返回该对象的说明 这个是用来干么的? 51 /// </summary> 52 /// <returns></returns> 53 public override string ToString() 54 { 55 return KeyName; 56 } 57 } 58 59 /// <summary> 60 /// 用于扩展.Items集合类型的自定义对象 61 /// </summary> 62 public class ItemObject : TagObject 一个类里面声明了两个Class,这是为什么,一 般不都是一个吗? 63 { 64 protected object _Tag; 65 66 public ItemObject(string keyName, object value, object tag) 67 : this(keyName, value) 这是什么意思? 68 { 69 _Tag = tag; 70 } 71 72 public ItemObject(string keyName, object value) 73 : base(keyName, value) 这又是什么意思?为什么关键字不一样了?前后两个 74 { 构造函数怎么参数不一致? 75 _Tag = null; 76 } 77 78 public override string ToString() 79 { 80 return KeyName; 81 } 82 83 public object Tag 84 { 85 get { return _Tag; } 86 set { _Tag = value; } 87 } 88 } 89 }
1:这个是用来干么的?
答 :TagObject tag=new TagObject("key123","val456");
tag.ToString()就是key123,重写ToString的方法
2:一个类里面声明了两个Class,这是为什么,般不都是一个吗?
答:一个文件里面可以有好多好多类
3:: base的意思是继承自父类也就是TagObject的构造函数
:this是自己
谢谢回答!