Интерфейс с методом, принимающим Converter как аргумент - C#

Узнай цену своей работы

Формулировка задачи:

Добрых времени суток. Подскажите пожалуйста, как реализовать нечто такое:
interface Interface2
{
    T Convert(Converter  converter); 
}
 
public class DefaultUser:Interface2
{
   [JsonProperty("login")]
   public string Login { get; set; }
 
   [JsonProperty("name")]
   public string Name { get; set; }
 
   public User Convert(Converter converter)
   {
       //а как тут?
   }
}
Что бы потом можно было вызывать этот метод вот так:
DefaultUser dfUser;
User user = df.Convert((x) => new User() {Name= x.Name});

Решение задачи: «Интерфейс с методом, принимающим Converter как аргумент»

textual
Листинг программы
using System;
 
namespace Temp
{
   class Program
   {
      public static void Main(string[] args)
      {
         DefaultUser dfUser = new DefaultUser();
         User user = dfUser.Convert((x) => new User() { Name = x.Name });
 
         Console.ReadLine();
      }
   }
 
   interface Interface2<U, T>
   {
      T Convert(Converter<U, T> converter);
   }
 
   public class DefaultUser : Interface2<DefaultUser, User>
   {
      //[JsonProperty("login")]
      public string Login { get; set; }
 
      //[JsonProperty("name")]
      public string Name { get; set; }
 
      public User Convert(Converter<DefaultUser, User> converter)
      {
         return converter(this);
      }
   }
 
   public class User
   {
      public object Name { get; set; }
   }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы