コード例 #1
0
ファイル: Program.cs プロジェクト: alanrivas/CodingChallenge
        public static Resultado calcularSegunTipo(List <IFormaGeometrica> formas, FormaGeometricaEnum tipo)
        {
            var resultado = new Resultado();

            resultado.TipoFigura = tipo;
            formas                   = formas.Where(f => f.Tipo == tipo).ToList();
            resultado.Cantidad       = formas.Count();
            resultado.AreaTotal      = formas.Aggregate(0m, (acum, elem) => elem.CalcularArea() + acum);
            resultado.PerimetroTotal = formas.Aggregate(0m, (acum, elem) => elem.CalcularPerimetro() + acum);

            return(resultado);
        }
コード例 #2
0
        public static FormaGeometrica getForma(FormaGeometricaEnum tipo, decimal ancho)
        {
            switch (tipo)
            {
            case FormaGeometricaEnum.Cuadrado:
                return(new Cuadrado(tipo, ancho));

            case FormaGeometricaEnum.Circulo:
                return(new Circulo(tipo, ancho));

            case FormaGeometricaEnum.TrianguloEquilatero:
                return(new TrianguloEquilatero(tipo, ancho));
            }
            return(new FormaGeometrica(tipo, ancho));
        }
コード例 #3
0
ファイル: Circulo.cs プロジェクト: alanrivas/CodingChallenge
 public Circulo(FormaGeometricaEnum tipo, decimal ancho) : base(tipo, ancho)
 {
 }
コード例 #4
0
 public FormaGeometrica(FormaGeometricaEnum tipo, decimal ancho)
 {
     Tipo = tipo;
     Lado = ancho;
 }
コード例 #5
0
 public TrianguloEquilatero(FormaGeometricaEnum tipo, decimal ancho) : base(tipo, ancho)
 {
 }
コード例 #6
0
 public Cuadrado(FormaGeometricaEnum tipo, decimal ancho) : base(tipo, ancho)
 {
 }