Új hozzászólás Aktív témák

  • pmonitor

    aktív tag

    válasz dabadab #19820 üzenetére

    Ha az object a struct őse lenne, akkor pl. ez miért nem működik?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace GenericTest
    {
    interface ITorol
    {
    void delete();
    }

    class GenerikusTipus<T>
    {
    T adat;

    public GenerikusTipus(T adat)
    {
    this.adat = adat;
    }

    public T GetErtek()
    {
    return adat;
    }

    public void TorlunkHaTudja()
    {
    if (adat is ITorol)
    (adat as ITorol).delete();
    }
    }

    struct Valami : ITorol
    {
    public int ertek;

    public Valami(int ertek)
    {
    this.ertek = ertek;
    }

    public void delete()
    {
    ertek = 0;
    }

    new public string ToString()
    {
    return ertek.ToString();
    }
    }

    class Program
    {
    static void Main(string[] args)
    {
    Valami v = new Valami(5);
    GenerikusTipus<Valami> genTip = new GenerikusTipus<Valami>(v);

    Console.WriteLine(genTip.GetErtek().ToString());

    genTip.TorlunkHaTudja();

    Console.WriteLine(genTip.GetErtek().ToString());

    Console.ReadKey();
    }
    }
    }

    Mert ugye class esetén működik. Innen is látszik, hogy a struct és a class teljesen más típus!
    De még az is tény, hogy a struct NEM örököl. Semmitől! Nemhogy az object-től!

    [ Szerkesztve ]

    http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php

Új hozzászólás Aktív témák