У меня есть общие вспомогательные методы. Я хотел бы иметь возможность вызвать один из абстрактного класса, но у меня нет производного типа для перехода в метод Generic. Как мне это получить? Я также не хочу, чтобы абстрактный класс был общим. Это возможно?! вот код, который не работает ...: '(Общий класс помощников, вызванный из абстрактного класса
public abstract class Base
{
public bool Save()
{
try
{
Helper<this.GetType()>.Save(this);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
И вспомогательный класс код
public class Helper<T> where T: class
{
public static bool Save(T obj)
{
try
{
Context.DDBContext.Save<T>(obj);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
Если вы хотите больше кода, пожалуйста, спросите
Недостаточно ли передать «Помощник» . Сохраните (это); '? Кажется, это объект, который можно сохранить. –
Я не думал об этом gimmie секунду, чтобы посмотреть, работает ли это :) – Adween
@TimSchmelter вы знаете, я думаю, что у вас есть это, это ковариация и контравариантность в действии, не так ли ...: D всплывает, и я буду отмечать он как правильный – Adween