public void TemplateMethod(IPrimitives primitives) { var result = primitives.Operation1() + primitives.Operation2(); Console.WriteLine(result); }
public void TemplateMethod(IPrimitives a) { var s = a.Operation1() + a.Operation2(); Console.WriteLine(s); }
public void TemplateMethod(IPrimitives a) { string s = a.Operation1() + a.Operation2(); Console.WriteLine(s); }
public MainViewModel(IPrimitives primitives) { _availiableColors.Add(new SolidColorBrush(Colors.Gold)); _availiableColors.Add(new SolidColorBrush(Colors.Black)); _availiableColors.Add(new SolidColorBrush(Colors.Brown)); _availiableColors.Add(new SolidColorBrush(Colors.Coral)); _availiableColors.Add(new SolidColorBrush(Colors.ForestGreen)); Primitives.AddRange(primitives.GetPrimitives()); //setup callbacks foreach (var graphPrimitive in Primitives) { if (graphPrimitive.PrimitiveType == PrimitiveTypes.Pen) { graphPrimitive.OnDrawPrimitiveInBitmap += drawPenOnBitmap; graphPrimitive.OnDrawPrimitiveInteractiveState += drawPenInteractiveState; } if (graphPrimitive.PrimitiveType == PrimitiveTypes.Line) { graphPrimitive.OnDrawPrimitiveInBitmap += drawLineOnBitmap; graphPrimitive.OnDrawPrimitiveInteractiveState += drawLineInteractiveState; } if (graphPrimitive.PrimitiveType == PrimitiveTypes.Rectangle) { graphPrimitive.OnDrawPrimitiveInBitmap += drawRectangleOnBitmap; graphPrimitive.OnDrawPrimitiveInteractiveState += drawRectangleInteractiveState; } if (graphPrimitive.PrimitiveType == PrimitiveTypes.Ellipse) { graphPrimitive.OnDrawPrimitiveInBitmap += drawEllipseOnBitmap; graphPrimitive.OnDrawPrimitiveInteractiveState += drawEllipseInteractiveState; } } SelectedPrimitive = Primitives[0]; }
static Primitives() { switch (Environment.OSVersion.Platform) { case PlatformID.Unix: if (Directory.Exists("/Applications") & Directory.Exists("/System") & Directory.Exists("/Users") & Directory.Exists("/Volumes")) { Api = new MacOSX.Primitives(); } else { Api = Environment.Is64BitProcess ? (IPrimitives) new PCSCLite64.Primitives() : new PCSCLite32.Primitives(); } break; case PlatformID.MacOSX: Api = new MacOSX.Primitives(); break; default: Api = new WinSCard.Primitives(); break; } }
//prima objekt tipa sucelja public void TemplateMethod(IPrimitives a) { //mora znati pozvati metode Operation1() i Operation2() nad objektom tipa sucelja(a), ali ne mora znati za koju tocno klasu!!!! string s = a.Operation1() + " " + a.Operation2(); Console.WriteLine(s); }