Я знаю, что на этом есть несколько сообщений, но я не нашел ответ, который я ищу, и его простой.C# - статический метод или нет, какой из них лучше?
Я знаю, что метод вызова статический или нет (инициализация (ООП)).
Пример, используя статические:
using System;
namespace Projet_Test
{
class surfacesCalcul
{
public static int calc_air(int a, int b){
int result = a * b;
return result;
}
}
/*
* ##########################
* ##########################
*/
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine(surfacesCalcul.calc_air(4,5));
}
}
}
Вы называете класс (surfacesCalcul) .method, и вы можете получить доступ к Method.
-
Normal, используя ООП:
using System;
namespace Projet_Test
{
class surfacesCalcul
{
public int calc_air(int a, int b){
int result = a * b;
return result;
}
}
/*
* ##########################
* ##########################
*/
class MainClass
{
public static void Main (string[] args)
{
surfacesCalcul calculMeThis = new surfacesCalcul();
Console.WriteLine(calculMeThis.calc_air(4,5));
}
}
}
создании экземпляра, а затем вы можете получить доступ к методам в классе.
-
[Мой вопрос] Какой из них лучше, я просто интересно, почему с помощью статического метода более чем из экземпляра или обратного. Есть ли настоящая причина или оба хороши. Есть ли лучшее время для использования другого?
Проще говоря, статические методы называются в виде имени класса 'ClassName.StaticMethod()'. вы не можете называть их из экземпляра – RadioSpace
Всякий раз, когда возникает такой вопрос, моя рекомендация состоит в следующем: * рассмотреть * Инъекцию зависимостей по статическим методам. Если метод [pure] был * private *, тогда это другой вопрос. – user2864740
Почему вы так уверены, что это так же просто, как «статические или нестатические»? Если бы это было так просто, наверняка вы бы нашли ответ? – BoltClock