ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c# tcbs之外部类成员类型为内部类之示例

c# tcbs之外部类成员类型为内部类之示例

原创 Linux操作系统 作者:wisdomone1 时间:2012-04-20 15:32:48 0 删除 编辑
tcbs代码实现:

///
    /// 数据访问管理器
    ///
    public class DataAccessManager : IDisposable
    {
        #region <变量>
        ///
        /// 
        ///
        //DataStoreCollection 为内部类
        private DataStoreCollection _activeDataStores = new DataStoreCollection();
        
        internal class DataStoreCollection : DictionaryBase
        {
            ///
            /// 添加dataStore方法
            /// key:DataStoreNbr
            /// value:dataStore引用
            ///
            ///
            public void Add(DataStoreBase dataStore)
            {
                try
                {
                    base.Dictionary.Add(dataStore.DataStoreNbr, dataStore);
                }
                catch
                {
                }
            }

            ///
            /// 按照dataStoreNbr判断是否包含指定dataStore引用
            ///
            ///
            ///
            public bool Contains(long dataStoreNbr)
            {
                return base.Dictionary.Contains(dataStoreNbr);
            }

            ///
            /// 按照DataStoreNbr移除dataStore
            ///
            /// dataStore
            public void Remove(DataStoreBase dataStore)
            {
                if (dataStore != null)
                {
                    base.Dictionary.Remove(dataStore.DataStoreNbr);
                }
            }

            ///
            /// 按照DataStoreNbr移除dataStore
            ///
            /// dataStoreNbr
            public void Remove(long dataStoreNbr)
            {
                base.Dictionary.Remove(dataStoreNbr);
            }

            ///
            /// 索引器
            ///
            ///
            ///
            public DataStoreBase this[long dataStoreNbr]
            {
                get
                {
                    return (DataStoreBase)base.Dictionary[dataStoreNbr];
                }
            }
        }


自己测试如下:
 
using System;
using System.Collections.Generic;
using System.Text;

namespace testhasharrayds
{
    public class outerrefinter
    {
        //外部类成员的类型可以是其内部类的类型,在此为内部类zxy,这样就可以从外部类访问内部类相关信息了
        public zxy Out
        {
            get
            {
                //这是两种方式,一是通过引用变量,二是通过直接生成对象
                //zxy z1 = new zxy("翟勋杨","陕西");
                //return z1;
                
                //属性一般与字段关联,在此属性直接与内部类关联起来,而且属性也可以与方法关联,属性是个很灵活的机制
                return new zxy("翟勋杨", "陕西");
            }
        }
        public class zxy //因为要在客户端代码访问此内部类zxy,它的访问修饰符定义为public
        {
            string name = string.Empty;
            string addr = string.Empty;
            public  zxy(string _name,string _addr)
            {
                name = _name;
                addr = _addr;
            }
            public string Name
            {
                get
                {
                 return name;
                }
            }
            public string Addr
            {
                get
                {
                    return addr;
                }
            }
        }
    }
}

客户端调用
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace testhasharrayds
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
                outerrefinter nlytest = new outerrefinter();
                //通过外部类outerrefinter
                label3.Text = onlytest.Out.Name;
                label4.Text = onlytest.Out.Addr;
           

        }
    }
}



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-721815/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11695977