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,614
  • 11
  • 59
  • 115

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
  • 143,427
  • 25
  • 201
  • 198
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,200
  • 4
  • 18
  • 37