using static System.Console;
public class HelloWorld {
public static void Main() {
Veiculo veiculoT = new Veiculo();
WriteLine("---------------");
Veiculo carro = new Carro();
WriteLine("---------------");
Carro carro2 = new Carro();
interface IFuncionamento {
static class Funcionamento {
public static void liga(this IFuncionamento func) {
public static void buzina() {
public static void teste(this IFuncionamento veiculo) {
static class Financeiro {
public static void compra(this Veiculo veiculo) {
WriteLine("Comprou N: " + veiculo.id);
class Veiculo : IFuncionamento {
public void diagnostico() {
Funcionamento.liga(this);
public virtual void liga() {
Funcionamento.liga(this);
public override void liga() {