我有一個定義了很多規則的XML文件。 我將XML文件加載到我的規則引擎中。規則引擎的動態加載類
根據我加載的XML文件,我需要選擇哪個命名空間,我會找到我需要的類。然後在XML的每一行上,我需要確定要加載的類。
我的XML
<RuleList assembly="BMW">
<rule>
<code>2345</code>
<errorMessage>foo bar</errorMessage>
<order>1</order>
</rule>
</RuleList>
<RuleList assembly="FORD">
<rule>
<code>0045</code>
<errorMessage>foo bar</errorMessage>
<order>3</order>
</rule>
</RuleList>
我只能一次處理一個規則列表。
我是否應該爲定義要加載的ClassName的每個規則添加額外的XML屬性? 因爲我不想使用代碼作爲類名?或者,我可以只添加代碼到我的類中的屬性,並用它來動態
加載例如
namespace FORD
{
[code=0045]
public bool IsValidColor(foo) : IisValid
{
return true
}
}
我可以加載的類從[代碼= 0045】或者我應該只是存儲「 IsValidColor「。是否有性能差異?
所以如果我使用[Code(「0045」)]語法。我如何實際過濾?有沒有像我可以在Assembly類上使用的linq查詢 – Daveo
是的,你必須使用'Assembly.GetTypes()'然後檢查每個類型的屬性。請參閱編輯。 – svick