Nullable Generics in Methoden - braucht ErklärungC#

Ein Treffpunkt für C#-Programmierer
Guest
 Nullable Generics in Methoden - braucht Erklärung

Post by Guest »

Kann jemand erklären, warum das erlaubt ist:

Code: Select all

class A1
{
public virtual T? F1(T? t) where T : struct { throw new NotImplementedException(); }
public virtual T? F1(T? t) where T : class { throw new NotImplementedException(); }

}
während dies nicht der Fall ist:

Code: Select all

class A1
{
public virtual T? F1(T t) where T : struct { throw new NotImplementedException(); }
public virtual T? F1(T t) where T : class { throw new NotImplementedException(); }

}
"Typ 'A1' definiert bereits ein Mitglied namens 'F1' mit denselben Parametertypen"
der Unterschied Ist das so, dass im zweiten Fall die Argumente nicht nullbar sind?
Wie kommt es, dass die Signaturen gleich sind, wenn es sich in einem Fall um Werttypen und in einem anderen Fall um Referenztypen handelt?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post