0
考慮以下代碼,是否有一種方法可以遍歷對象樹並確定所有具有進度,權重和總體成本的方法?您可以通過散步對象樹來閱讀註釋
比方說,我有一個自定義註釋:
public enum ProgressWeight
{
ExtraLight,
Light,
Medium,
Heavy,
ExtraHeavy
}
[AttributeUsage(AttributeTargets.Method)]
public class Progressable : Attribute
{
public ProgressWeight Weight { get; set; }
public Progressable(ProgressWeight weight)
{
this.Weight = weight;
}
}
而且我要實現它是這樣:
public class Sumathig
{
Foo CompositionObject;
[Progressable(ProgressWeight.Light)]
public void DoSomethingLight()
{
\\Do something that takes little time
}
[Progressable(ProgressWeight.ExtraHeavy)]
public void DoSomeIntesiveWork()
{
CompositionObject = new Foo();
CompositionObject.DoWork();
CompositionObject.DoMoreWork();
}
}
class Foo
{
[Progressable(ProgressWeight.Medium)]
public void DoWork()
{
\\Do some work
}
[Progressable(ProgressWeight.Heavy)]
public void DoSomeMoreWork()
{
\\Do more work
}
}
你應該可以做到這一點,如果你要麼迭代類型的'類型'或'表達'的數組涉及......這似乎有點混亂。 – Magus
在這種情況下,「註釋」是錯誤的詞。修復標記。他們是'屬性'。 –
如果您有關於'type'(元數據)的信息,那麼您就可以獲得所有您需要的信息。使用反射。 –