3

I have the following static method held in an Analytics class:

 public static void buttonHit(string eventName, string eventAction, string description)
{
    gua.sendEventHit(eventName,eventAction,description,1);
}

In a second class I'm trying to fill this out as follows:

Analytics analytics;
void buttonEventAnalytic()
{   
   analytics.buttonHit(event_NameString, event_ActionString, event_Label);  
}

However when I do so I get the following error:

error CS0176: Static member `Analytics.buttonHit(string, string, string)' cannot be accessed with an instance reference, qualify it with a type name instead

Could someone please enlighten me as to how I can defeat this error?

N0xus
  • 2,674
  • 12
  • 65
  • 126

2 Answers2

3

Use class name instead of instance. Static members are supposed to be accessed with class name.

Analytics.buttonHit(event_NameString, event_ActionString, event_Label);  

A static function member (method, property, event, operator, or constructor) does not operate on a specific instance, and it is a compile-time error to refer to this in such a function member, MSDN

Adil
  • 146,340
  • 25
  • 209
  • 204
0

use directly

Analytics.buttonHit(event_NameString, event_ActionString, event_Label);  

because static member are not related to object they are associated with class only

Jai
  • 1,292
  • 4
  • 21
  • 41