ref und out-Parameter in C # und können nicht als Variante @ markiert werd

Was bedeutet die Anweisung?

Von hie

ref und out-Parameter in C # und können nicht als Variante markiert werden.

1) Bedeutet dies, dass Folgendes nicht möglich ist?

public class SomeClass<R, A>: IVariant<R, A>
{
    public virtual R DoSomething( ref A args )
    {
        return null;
    }
}

2) Oder heißt das, dass ich Folgendes nicht haben kann.

public delegate R Reader<out R, in A>(A arg, string s);

public static void AssignReadFromPeonMethodToDelegate(ref Reader<object, Peon> pReader)
{
    pReader = ReadFromPeon;
}

static object ReadFromPeon(Peon p, string propertyName)
    {
        return p.GetType().GetField(propertyName).GetValue(p);
    }

static Reader<object, Peon> pReader;

static void Main(string[] args)
    {
        AssignReadFromPeonMethodToDelegate(ref pReader);
        bCanReadWrite = (bool)pReader(peon, "CanReadWrite");

        Console.WriteLine("Press any key to quit...");
        Console.ReadKey();
    }

Ich habe versucht (2) und es hat funktioniert.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage