Можно ли преобразовать метод в строку или какой-либо способ преобразования метода в строку, чтобы напечатать результат метода в виде строки в C#?Преобразование метода в строку в C#?
ответ
Если вы хотите получить имя метода, вы можете использовать reflection. Если вы хотите, чтобы результат метода был строковым, вы можете просто преобразовать его значение в строку удобным для вас способом или бизнес-логикой, которую вы хотите реализовать.
Не совсем уверен, что вы просите. Из комментариев кажется, что вы хотите распечатать на экране. Вы должны знать, что все объекты имеют метод ToString()
, который вызывается для печати любого типа. Вы можете указать override
в своем классе, чтобы обеспечить правильный результат в том случае, если ваш экземпляр напечатан.
public class MyClass
{
public string SomethingCool => "Hey!";
public override string ToString()
{
return this.SomethingCool;
}
}
Вы можете:
- Вернуть
string
из метода, чтобы начать с; - Верните тип, который у вас есть, и явным образом вызываю
object
ToString()
в вашем методе печати (экономит время во время выполнения, так как тип не обязательно должен быть в коробке); - Если просто вызов
ToString()
на ваш экземпляр не работает, переопределите методToString()
и поместите любой результат, который вы хотите увидеть.
Кто-нибудь знает, почему отступы от кода ниже списка не форматируются должным образом? Это что-то для Мета? –
Nah, я бы закрыл его как дубликат: http://meta.stackoverflow.com/questions/255372/code-block-bug-when-following-numbered-list – rene
@rene cool спасибо за ссылку. Я не думал, что буду первым встречать его, но также не был уверен, что это вопрос типа мета-формата. –
Непонятно, что вы просите. Если вы хотите напечатать результат метода, почему вы хотите преобразовать метод в строку? Вы имеете в виду преобразовать печать тела метода? Или что? – pwas
Я имею в виду распечатать результат метода yes, но его не нужно преобразовывать в строку, чтобы отправить его на экран? – Leon