2012-01-16 4 views
-2

В классе под названием Security, существует метод:C# статический публичный метод

public static bool HasAccess(string UserId, string ModuleID) 

Как вызвать этот метод, и поэтому он может возвращать результат булева?

Я попытался followoing, но не был успешным:

Security security = new Security(); 
    bool result = security.HasAccess("JKolk","Accounting"); 

ответ

2

Вы просто использовать имя класса. Нет необходимости создавать экземпляр.

Security.HasAccess(...) 
6
bool result = Security.HasAccess("JKolk","Accounting"); 

Для вызова статического метода, вам не нужно, чтобы создать экземпляр объекта, на котором она вызывается.

http://msdn.microsoft.com/en-us/library/79b3xss3.aspx

Обратите внимание, что вы можете смешивать и сочетать статические и не статические члены, такие как:

public class Foo 
{ 
    public static bool Bar() { return true; } 
    public bool Baz() { return true; } 

    public static int X = 0; 
    public int Y = 1; 
} 

Foo f = new Foo(); 
f.Y = 10; // changes the instance 
f.Baz(); // must instantiate to call instance method 

Foo.X = 10; // Important: other consumers of Foo within the same AppDomain will see this value 
Foo.Bar(); // call static methods without instantiating the type 
0

Поскольку это статический метод, вы должны сделать что-то, как показано ниже.

Security.HasAccess(("JKolk","Accounting"); 
1

, если это статический метод, то способ назвать это будет выглядеть примерно так:

bool result = Security.HasAccess("JKolk","Accounting"); 

вы бы не использовать экземпляр Security класса, можно использовать определение Security класс.

Смежные вопросы