DevExpress上的一段代码,完全看不懂,求解释感谢
using System;
using System.ComponentModel;using DevExpress.Xpo;
using DevExpress.Data.Filtering;using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
    
using DevExpress.Persistent.Validation;namespace MDSMindCRM.Module
{
    [DefaultClassOptions]
    [System.ComponentModel.DisplayName("软件产品"), NavigationItem("BaseInfo")]
    public class Prd_SoftProduct : Bas_BaseProduct
    {
        public Prd_SoftProduct(Session session) : base(session) { }        public override EnumProductClass ProductClass
        {
            get { return EnumProductClass.研发软件产品; }
        }        private string _TokenNum;
        [DevExpress.Xpo.DisplayName("加密锁序列号")]
        public string TokenNum
        {
            get { return _TokenNum; }
            set
            {
                _TokenNum = value;
                OnChanged("TokenNum");
            }
        }        private DateTime _BuyDate;
        [DevExpress.Xpo.DisplayName("销售日期")]
        public DateTime BuyDate
        {
            get { return _BuyDate; }
            set
            {
                _BuyDate = value;
                OnChanged("BuyDate");
            }
        }        private string _ContractNo;
        [DevExpress.Xpo.DisplayName("合同号码")]
        public string ContractNo
        {
            get { return _ContractNo; }
            set
            {
                _ContractNo = value;
                OnChanged("ContractNo");
            }
        }        private int _ClientNum;
        [DevExpress.Xpo.DisplayName("客户端数量")]
        public int ClientNum
        {
            get { return _ClientNum; }
            set
            {
                _ClientNum = value;
                OnChanged("ClientNum");
            }
        }
        
                private decimal _BuyPrice;
        [DevExpress.Xpo.DisplayName("采购单价")]
        public decimal BuyPrice
        {
            get { return _BuyPrice; }
            set
            {
                _BuyPrice = value;
                OnChanged("BuyPrice");
            }
        }        private decimal _BuyAmount;
        [DevExpress.Xpo.DisplayName("总金额")]
        public decimal BuyAmount
        {
            get { return _BuyAmount; }
            set
            {
                _BuyAmount = value;
                OnChanged("BuyAmount");
            }
        }
    }}