Мне нужно определить статическое свойство или метод в определенных классах моей бизнес-логики, чтобы подробно определить, какие классы являются кешируемыми в Session или Cache службы ASP.NET. Я думаю, статическое свойство или метод в интерфейсе были бы идеальными, но C # 4.0 не поддерживает это.
Все, что нужно, - это уметь оценивать в универсальном менеджере, какие классы являются кешируемыми и, если они есть, на каком уровне: сеанс (пользователь) или кеш (приложение).
Теперь я пытаюсь оценить пустой интерфейс с параметром T, но, может быть, существует лучший подход? Спасибо.
public interface ICacheable<T>
{
}
public class Country : ICacheable<CacheApplication>
{
}
public class Department : ICacheable<CacheUser>
{
}
public class Gestor<T>
{
// ...
if (typeof(T) is ICacheable<CacheApplication>)
{
}
// ...
}