Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Non-invocable member cannot be used like a method

I am trying to rewrite a VB function into C#, but I'm getting the following error:

Error 1 Non-invocable member 'System.DateTime.Today' cannot be used like a method. C:\Documents and Settings\daultrd\Local Settings\Temp\SSIS\ST_ceaa126ff88343ccbfdc6dd27d8de1a7\ScriptMain.cs 56 67 ST_ceaa126ff88343ccbfdc6dd27d8de1a7

And the offending line:

strTomorrow = Convert.ToString(String.Format(DateTime.Today().AddDays(+1), "yyyyMMdd"));   

How can I fix this? Thanks guys; you are super quick! And all of u said about the same thing. So I removed the parenthesis but now I get a different error:

Error 1 The best overloaded method match for 'string.Format (System.IFormatProvider, string, params object[])' has some invalid arguments C:\Documents and Settings\daultrd\Local Settings\Temp\SSIS\2e23c9f006d64c249adb3d3a2e597591\ScriptMain.cs 56 44 st_ceaa126ff88343ccbfdc6dd27d8de1a7

And here is this line of code:

strTomorrow = Convert.ToString(String.Format(DateTime.Today.AddDays(+1), "yyyyMMdd"));   //Strings.Format(DateAndTime.Today().AddDays(+1), "yyyyMMdd"));
like image 494
salvationishere Avatar asked Apr 08 '11 22:04

salvationishere


3 Answers

strTomorrow = DateTime.Today.AddDays(1).ToString("yyyyMMdd");
  • String.Format always returns a string, there's no need to convert the result to a string
  • String.Format does not accept a DateTime as its first argument. The easiest way to convert a DateTime to a string in a specific format is to call DateTime.ToString and pass the format as an argument
like image 191
Tom Vervoort Avatar answered Oct 01 '22 02:10

Tom Vervoort


Today is a property so you shouldn't add parentheses. You also have the arguments to string.Format incorrect.

strTomorrow = String.Format("{0:yyyyMMdd}", DateTime.Today.AddDays(+1));
like image 27
Tadmas Avatar answered Oct 01 '22 00:10

Tadmas


Change DateTime.Today().AddDays(1) to DateTime.Today.AddDays(1)

Today is a property, not a method.

like image 39
Andy White Avatar answered Oct 01 '22 00:10

Andy White