Type typeThing = gumballMachine.GetState().GetType();
if (typeThing == typeof(NoQuarterState)) { ... }
IState state;
public IState GetState() {
return state;
}
public class NoQuarterState : IState { ... }
我使用頭部第一設計模式Ch10中的gumballMachine應用程序。 full code here這工作。GetType和typeof
問題:typeThing上面的氣味!有沒有更好的辦法?
我不知道任何其他方式獲得的類型實例,除了GetType()。有些檢查可以通過'is'和'as'運算符來確定它是否是你想要的類型。 –