Maintenant, j'ai deux classes allmethods.cs
et caller.cs
.
J'ai quelques méthodes dans la classe allmethods.cs
. Je veux écrire du code dans caller.cs
afin d'appeler une certaine méthode dans la classe allmethods
.
Exemple sur le code:
public class allmethods
public static void Method1()
{
// Method1
}
public static void Method2()
{
// Method2
}
class caller
{
public static void Main(string[] args)
{
// I want to write a code here to call Method2 for example from allmethods Class
}
}
Comment puis-je y arriver?
Comme le Method2
est statique, il vous suffit d'appeler comme ceci:
public class AllMethods
{
public static void Method2()
{
// code here
}
}
class Caller
{
public static void Main(string[] args)
{
AllMethods.Method2();
}
}
S'ils se trouvent dans des espaces de noms différents, vous devrez également ajouter l'espace de noms de AllMethods
à caller.cs dans une instruction using
.
Si vous souhaitez appeler une méthode d'instance (non statique), vous avez besoin d'une instance de la classe pour appeler la méthode. Par exemple:
public class MyClass
{
public void InstanceMethod()
{
// ...
}
}
public static void Main(string[] args)
{
var instance = new MyClass();
instance.InstanceMethod();
}
Mettre à jour
À partir de C # 6, vous pouvez également y parvenir avec la directive using static
pour appeler des méthodes statiques un peu plus gracieusement, par exemple:
// AllMethods.cs
namespace Some.Namespace
{
public class AllMethods
{
public static void Method2()
{
// code here
}
}
}
// Caller.cs
using static Some.Namespace.AllMethods;
namespace Other.Namespace
{
class Caller
{
public static void Main(string[] args)
{
Method2(); // No need to mention AllMethods here
}
}
}
Lectures supplémentaires