public static Caracteristica Crear(IPropiedad propiedad)
        {
            Caracteristica caracteristica;

            if (propiedad.Cardinalidad >= Cardinalidad.Cero_Muchos)
            {
                caracteristica = _fabrica[typeof(IColeccion)].Invoke(propiedad);
            }
            else if (propiedad.Tipo.EsTipoDeDato)
            {
                caracteristica = _fabrica[TipoHelper.ObtenerType(propiedad.Tipo)].Invoke(propiedad);
            }
            else
            {
                caracteristica = _fabrica[typeof(IObjetoDatos)].Invoke(propiedad);
            }

            return(caracteristica);
        }
 public static void Leer(ILector lector, IObjetoDatos od, IPropiedad propiedad)
 {
     _delegados[TipoHelper.ObtenerType(propiedad.Tipo)].Invoke(lector, od, propiedad);
 }
Пример #3
0
 private static void ConstruirAtributo(IObjetoDatos od, IPropiedad propiedad)
 {
     _delegados[TipoHelper.ObtenerType(propiedad.Tipo)].Invoke(od, propiedad);
 }
 public static void Escribir(IEscritor escritor, IObjetoDatos od, IPropiedad propiedad)
 {
     _delegados[TipoHelper.ObtenerType(propiedad.Tipo)].Invoke(escritor, od, propiedad);
 }