C#, Net 2.0¿Qué pasa con este código de reflexión? GetFields() devuelve un array vacío
Aquí está el código (saqué todas mis cosas de dominio específico, y se devolverá un conjunto vacío):
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 Este es el que debe * especificar * Instance además de NonPublic. –
¡Salud para la respuesta! Sin embargo, estoy teniendo problemas para entenderlo. ¿Podría alguien explicar por qué se requiere instancia o estática junto con NonPublic para campos privados? – Zack
@ rory.ap: Sí, exactamente. –