Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Member 'string.Format(string, params object[])' cannot be accessed with an instance reference; qualify it with a type name instead

I have a page that displays a list of contracts. Each row contains an Amount, a Fee, and a Total that I'm calculating row that row.

I'm also trying to calculate a grand total, that sums up Total from the collection.

Here's what I have:

var contracts = _contractsRepository.Contracts.
    Select(c => new ContractViewModel
    {
        ContractId = c.ContractID,                                            
        Amount = c.Amount,
        Fee = c.Fee,
        Total = c.Sum(cc => cc.Amount) + c.Sum(cc => cc.AdminFee)
    });

// error here
ViewBag.GrandTotal = contracts.Sum(c => c.Total).ToString().Format("{0:c}");

I get a compilation error when I try to calculate the grand total that says:

Member 'string.Format(string, params object[])' cannot be accessed with an instance reference; qualify it with a type name instead

Anyone know what I can do to fix this?

like image 740
Steven Avatar asked Mar 31 '13 02:03

Steven


1 Answers

You're misunderstanding strings.

String.Format() is a static method that takes a format string and a set of parameters.
You could call

String.Format("{0:c}", someDecimal);

However, if you only have a single value, you can call ToString() with a format parameter:

someDecimal.ToString("c")
like image 109
SLaks Avatar answered Oct 21 '22 10:10

SLaks