C# 利用函数反射、XML序列化/反序列化保存函数执行与输入参数列表

最近在写工业机械臂控制的代码,需要实现如下的一个功能:
将机械臂需要执行的函数与输入参数按照顺序保存成文件,加载文件后能够直接命令机械手进行动作。
界面使用winform进行开发。函数名与参数的保存、加载的部分,考虑到日后函数的增删,使用了函数反射+XML序列化/反序列一个方案。

这部分用Console模拟一下。

先编写一个类 Coordinate 来表示坐标,类中有三个属性X,Y,Z分别代表X,Y,Z坐标值。

    public class Coordinate
    {
        /// <summary>
        /// X坐标值
        /// </summary>
        public double X { get; set; }
        /// <summary>
        /// Y坐标值
        /// </summary>
        public double Y { get; set; }
        /// <summary>
        /// Z坐标值
        /// </summary>
        public double Z { get; set; }

        public override string ToString()
        {
            return "X:" + X + "|Y:" + Y + "|Z:" + Z;
        }

        public void SetCoordinate(double x , double y, double z)
        {
            X = x;
            Y = y;
            Z = z;
        }

        public static Coordinate operator +(Coordinate coor1 , Coordinate coor2)
        {
            return new Coordinate() { X = coor1.X + coor2.X, Y = coor1.Y + coor2.Y, Z = coor1.Z + coor2.Z };
        }

        public static Coordinate operator -(Coordinate coor1, Coordinate coor2)
        {
            return new Coordinate() { X = coor1.X - coor2.X, Y = coor1.Y - coor2.Y, Z = coor1.Z - coor2.Z };
        }

        private static readonly Coordinate _originalCoordinate = new Coordinate { X = 0, Y = 0, Z = 0 };

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值