我需要在我的業務邏輯的某些類中定義一個靜態屬性或方法,以明確確定哪些類在ASP.NET服務的會話或緩存中是可緩存的。我在想,界面中的靜態屬性或方法是完美的,但C#4.0不支持這一點。C#與靜態屬性或方法的接口?
所有需求都能夠在通用管理器中評估哪些類是可緩存的,如果它們處於什麼級別:會話(用戶)或緩存(應用程序)。
現在我試着用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>)
{
}
// ...
}
任何時候你想的標記接口,你可能想屬性改爲:http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx – millimoose 2012-02-10 22:34:46