Хочу написать второй метод ToString(Object obj) через лямбда выражение:
/// <summary>
/// Позволяет выводить на экран строковые представления объектов.
/// </summary>
public static class Structure
{
/// <summary>
/// Возвращает строковое предсталение объекта.
/// </summary>
/// <returns>string</returns>
public static string ToString(Object obj, string s)
{
string result = String.Format("{0}: ", obj.GetType().Name);
var props = GetType().GetProperties();
for(var i = 0; i < props.Length; i++)
{
if (i < props.Length - 1)
{
result += String.Format("{0} = {1}, ", props[i].Name, props[i].GetValue(this));
}
else
{
result += String.Format("{0} = {1}", props[i].Name, props[i].GetValue(this));
}
}
return result + s;
}
/// <summary>
/// Возвращает строковое предсталение объекта.
/// </summary>
/// <returns>string</returns>
public static string ToString(Object obj) => ToString(obj, "");
}
Как написать правильно?
Быстрое гугление показывает, что SharpDevelop не поддерживает C#6,7. Значит, такая запись невозможна.
Ну лямбды как бы вот делаются
public string ToString(Func<object, string> func)
{
return func.ToString();
}
Вызов
ToString( Height => { return Height.ToString(); } );
Первый параметр это то что принимает как аргумет а второй то что возращаем
Вроде так норм будет
Func<object, string, string> NewToString = (o, e) =>
{
return o.ToString();
};
NewToString(new object g, "Name");
Вроде лямбда есть
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу массиву кнопкам, из 10 кнопок передать в событие OnClick метод Appropriation(i), с аргументом i, который будет увеличиватьсяСуть: кнопка 1 имеет OnClick...
Изучаю BackgroundWorker, решил попробовать на своей программе (при проверке обновлений), добавив BackgroundWorkerВроде сделал всё примерно как на msdn, но программа...
Почему все способы парсинга html на с# такие сложные и запарные? Очень долго программировал на ahk, и там можно в одну строку запарсить classname просто...