Mam pewnien problem z zadaniem. Poniżej mam taki oto main. Misja doprowadzić to do działania.
Punkt<int> p1 = new Punkt<int>(1,2);
Punkt<double> p2 = new Punkt<double>(1.0, 2.2);
Console.WriteLine(p1.ToString());
Console.WriteLine(p2.ToString());
Posiłkując się dokumentacją wykopałem taki przykład, który próbowałem zaimplementować (to tylko przykład):
class Program
{
static void Main(string[] args)
{
KlasaGeneryczna<int> obiektKlasyGenerycznej = new KlasaGeneryczna<int>();
obiektKlasyGenerycznej.Dodaj(12);
KlasaGeneryczna<string> obiektKlasyGenerycznej1 = new KlasaGeneryczna<string>();
obiektKlasyGenerycznej1.Dodaj("napis");
Console.ReadKey();
}
public class KlasaGeneryczna<T>
{
public void Dodaj(T parametr)
{
Console.WriteLine("Wynik metody Dodaj: " + parametr);
}
}
}
Koniec końców mam taki kod, który się kompiluje, ale wyświetla nie to, co powinno. Skorzystałem z podpowiedzi vs:
class Program
{
static void Main(string[] args)
{
Punkt<int> p1 = new Punkt<int>(1, 2);
Punkt<double> p2 = new Punkt<double>(1.0, 2.2);
Console.WriteLine(p1.ToString());
Console.WriteLine(p2.ToString());
}
}
class Punkt<T>
{
private int v1;
private int v2;
private double v;
private double v3;
public Punkt(int v1, int v2)
{
this.v1 = v1;
this.v2 = v2;
}
public Punkt(double v, double v3)
{
this.v = v;
this.v3 = v3;
}
Wynikiem działania jest:
Korzystając z przykłady owej klasy dopisałem:
public void Dodaj(T p1)
{
Console.WriteLine("Wynik metody Dodaj: " + p1);
}
public void Dodaj2(T p2)
{
Console.WriteLine("Wynik metody Dodaj: " + p2);
}
Lecz po prostu nic się nie dzieje. Efekt jest nadal taki jak na screenie.
Jest w stanie ktoś mi to objaśnić?