ref und out-Parameter in C # und können nicht als Variante @ markiert werd
Was bedeutet die Anweisung?
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.