C#-按十进制值对列表进行排序

我有一个Product类的列表,我想按计算出的价格对其进行排序。

    public class Product
    {
        public decimal Price { get; set; }
        public int Amount { get; set; }

        public decimal CalculatePrice
        {
            get
            {
                return Price * Amount;
            }
        }
    }

我已经尝试了以下方法,但是不起作用:

    products.OrderBy(p => p.CalculatePrice);