Lets create CarLibrary.dll assembly
File NewProject ClassLibrary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CarLibrary { public enum EngineState {EngineAlive, engineDead} public abstract class Car { public string PetName { get; set; } public int CurrentSpeed { get; set; } public int MaxSpeed { get; set; } protected EngineState egnState = EngineState.EngineAlive; public EngineState EngineState {get { return egnState; }} public abstract void TurboBoost(); public Car(){} public Car(string name, int maxSp, int currSp) { PetName = name; MaxSpeed = maxSp; CurrentSpeed = currSp; } } } |
In other file Derived.cs 2 derived classes
ClassView – addReference – System.Windows.Forms
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CarLibrary; using System.Windows.Forms; namespace CarLibrary { public class SportsCar : Car { public SportsCar() { } public SportsCar(string name, int maxSp, int currSp) : base(name, maxSp, currSp) { } public override void TurboBoost() { MessageBox.Show("Turbo Boost Sports Car"); } } public class MiniVan : Car { public MiniVan() { } public MiniVan(string name, int maxSp, int currSp) : base(name, maxSp, currSp) { } public override void TurboBoost() { MessageBox.Show("Turbo Boost MiniVan"); } } } |
Now lets create new project CarClient
ClassView – addReference – Browse – CarLibrary.dll
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CarLibrary; namespace CarClient { class Program { static void Main(string[] args) { SportsCar viper = new SportsCar("Viper",240,40); viper.TurboBoost(); MiniVan mv = new MiniVan(); mv.TurboBoost(); Console.ReadLine(); } } } |