我有以下問題,如何使用反射屬性裏面檢索調用它的類信息
我有一類「汽車」與使用的EntityFramework到達數據庫,得到所有的功能表格行由幾個過濾器組成。
事情是這樣的:
public class car
{
private const string VEHICLE_TYPE = "something_here";
[CachedAttribute(30)]
public virtual List<Vehicles> GetVehiclesFromDB()
{
return _repository.Set<Vehicles>().Where(e => e.VehicleType == VEHICLE_TYPE && e.Weight < CAR_MAX_WEIGHT);
}
}
我還加在它上面的屬性。在這個屬性裏面,我需要能夠檢索幾件事情,我需要獲取類名(在這種情況下是汽車), 我還需要獲取函數的返回值的類型(在此案件的對象車輛) ,我需要得到VEHICLE_TYPE內的值。
之後,我需要能夠從屬性
public class CachedAttribute : Attribute
{
public CachedAttribute(int seconds)
{
// todo
}
}
內執行該功能(「GetVehiclesFromDB」)我從來沒有做過那些之類的東西,我不知道什麼是我應該採取的辦法。這是一種反思嗎?或者它可能完全不同?
編輯:
我確實需要使用此高速緩存,我想使用的Redis了點。
這不是常規屬性的工作方式。它們只是沒有嵌入任何邏輯的元數據。一些_external_代碼通過反射來檢查你的代碼,看到不同的屬性並根據它們執行不同的操作。 – Evk