public static void TestClainIProps() { Console.WriteLine("Объект класса ClainP вызывает открытые методы!"); ClainP clain = new ClainP(); clain.MyProp1("Свойство 1 объекта"); clain.MyProp2("Владимир", 44); Console.WriteLine("Объект класса IProps вызывает открытые методы!"); IProps ip = clain; ip.Prop1("интерфейс: свойство"); ip.Prop2("интерфейс: свойство", 77); Console.WriteLine(); }
public static void HandleCollision(IMario mario, IProps props) { if (props is FlagPole) { (props as FlagPole).ShouldLowerFlag = true; mario.Fetch = true; SoundFactory.Instance.CreateFlagPoleSound(); } if(props is Castle) { TreeNewBee.SuperMarioBros.Instance.Manager.FinishedGame(); //TreeNewBee.SuperMarioBros.Instance.Manager.WonFlag = true; SoundFactory.Instance.CreateStageClearSound(); } }
public static void TestTwoInterfaces() { ClainTwo claintwo = new ClainTwo(); claintwo.Prop1("Склейка свойства двух интерфейсов"); claintwo.Prop2("перегрузка .: ", 99); claintwo.Prop2(9999); claintwo.Prop3FromInterface1(); claintwo.Prop3FromInterface2(); Console.WriteLine("Интерфейсный объект вызывает методы 1-го интерфейса!"); IProps ip1 = (IProps)claintwo; ip1.Prop1("интерфейс IProps: свойство 1"); ip1.Prop3(); Console.WriteLine("Интерфейсный объект вызывает методы 2-го интерфейса!"); IPropsOne ip2 = (IPropsOne)claintwo; ip2.Prop1("интерфейс IPropsOne: свойство1"); ip2.Prop3(); }
}//.ctor public Value( IProps obj, string @string ) { Vt = Vtype.Ident; Ptr = obj; Str = @string; Dta = new Vdata(); }//.ctor
public bool Matches(IProps props) { return(this.matches(props)); }