Ошибка с расширением округления в десятичной системе счисления - невозможно получить доступ с помощью ссылки на экземпляр; вместо этого уточните его именем типа

Я много раз использовал методы расширения и не сталкивался с этой проблемой. У кого-нибудь есть идеи, почему это вызывает ошибку?

 /// <summary>
 /// Rounds the specified value.
 /// </summary>
 /// <param name="value">The value.</param>
 /// <param name="decimals">The decimals.</param>
 /// <returns></returns>
 public static decimal Round (this decimal value, int decimals)
 {
     return Math.Round(value, decimals);
 }

Использование:

decimal newAmount = decimal.Parse("3.33333333333434343434");
this.rtbAmount.Text = newAmount.Round(3).ToString();

newAmount.Round (3) вызывает ошибку компилятора:

Error   1   Member 'decimal.Round(decimal)' cannot be accessed with an instance     reference; qualify it with a type name instead
8
задан Charles 7 September 2011 в 00:31
поделиться