繁体   English   中英

如何定义来自不同类的多维数组

[英]How to define a multidimension array from different classes

我正在尝试使用来自第二个类的值和多维数组创建 object。 我创造了什么:

class ProductData
    {
        private ProductPrices[] prices;
        public string ParentName { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string TechnicalDescription { get; set; }
        public bool Obsolete { get; set; }
        public bool Deleted { get; set; }
        public string Innercarton { get; set; }
        public string Outercarton { get; set; }
        public string Package { get; set; }
        public string Barcode { get; set; }
        public decimal Weight { get; set; }
        public decimal EndUserPrice { get; set; }
        public int MOQ { get; set; }
        public bool ComingSoon { get; set; }
        public bool NewProduct { get; set; }
        public string Equivalent { get; set; }
        public string ReplacedBy { get; set; }
        public ProductPrices[] Prices
        {
            get
            {
                return prices;
            }
            set
            {
                prices = value;
            }
        }
        public List<ProductFeatures> Feature { get; set; }
        public List<string> Specification { get; set; }
        public List<string> Image { get; set; }
        public string File { get; set; }
        public string Icon { get; set; }

    }
    class ProductFeatures
    {
        public string Feature;
    }
    public class ProductPrices
    {
        public decimal Price;
        public int MinQuantity;
        public DateTime validuntil;
        public string currency;
    }

现在我想为 ProductPrices 提供一个多维数组。 所以,最后我会有这样的事情:

Dictionary<string, ProductData> productInfo = new Dictionary<string, ProductData>();
//Adding data to productInfo
string productName = productInfo.Name;
string description = productInfo.Description;
decimal wholesalePrice = productInfo.ProductPrices[0].Price;
int minQty = productInfo.ProductPrices[0].MinQuantity;

某处我错过了一些东西。 我一直在寻找几个小时试图找到它,但不幸的是......提前致谢!

我已经找到了。 删除private ProductPrices[] prices; 并改变

public ProductPrices[] Prices
        {
            get
            {
                return prices;
            }
            set
            {
                prices = value;
            }
        } 

public ProductPrices[] Prices { get; set; } public ProductPrices[] Prices { get; set; }

之后,您可以执行以下操作:

ProductData prData = new ProductData();
prData.ParentName = "Parent name";
prData.Name = "Some name";
prData.Prices = new ProductPrices[enterArrayCount];
ProductPrices prdPrices = new ProductPrices();
prdPrices.Price = Convert.ToDecimal(yourDecimalValue);
prdPrices.MinQuantity = 8;
prdPrices.Currency = "Eur";
prData.Prices[firstIndex] = prdPrices; //So firstIndex must increase after a value has been set. 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM