C#, Net 2.0Cosa c'è di sbagliato con questo codice di riflessione? GetFields() restituisce un array vuoto
Ecco il codice (ho tirato fuori tutta la mia roba specifico del dominio, e restituisce ancora un array vuoto):
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ChildClass cc = new ChildClass();
cc.OtherProperty = 1;
FieldInfo[] fi = cc.GetType().GetFields();
Console.WriteLine(fi.Length);
Console.ReadLine();
}
}
class BaseClass<T>
{
private int myVar;
public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}
}
class ChildClass : BaseClass<ChildClass>
{
private int myVar;
public int OtherProperty
{
get { return myVar; }
set { myVar = value; }
}
}
}
+1 Questo è l'unico, * necessario * specificare Istanza e Non pubblico. –
Cheers per la risposta! Ho problemi a capirlo comunque. Qualcuno potrebbe spiegare perché è richiesto Instance o Statico insieme a NonPublic per i campi privati? – Zack
@ rory.ap: Sì, esattamente. –