public class MyChart { //字段 private TChart tChart; /// <summary> /// 构造函数,默认不是3D效果 /// </summary> /// <param name="parent">父容器</param> public MyChart(Control parent) { tChart = new TChart(); this.View3D = false;//默认关闭3D效果 this.Dock = DockStyle.Fill;//默认占满父容器 if (parent != null) { parent.Controls.Add(tChart); } } }
封装的类中包含一个TChart类型的私有变量
如果需要对tchart私有变量操作的话,就可以封装方法或者属性来实现。
封装之后,如果在赋值的时候,希望自动转换
可以通过类型的隐式转换来实现:
自定义的类ZBMAxis封装了Axis,包含一个私有变量Axis axis;
/// <summary> /// 将ZBMAxis隐式转换为Axis的类型 /// </summary> /// <param name="zbmAxis"></param> /// <returns></returns> public static implicit operator Axis(ZBMAxis zbmAxis) { return zbmAxis.axis; }
在外部处理的时候,需要将ZBMAxis类型的变量zbmAxis赋值给AXis类型的变量的时候,就需要用到这种转换