Получите типизированный объект с фабрикой образца - PullRequest
0 голосов
/ 24 сентября 2018

см. Мой код:

public interface IStructureType
{
    int Longueur { get; set; }
    int Position { get; set; }
    int CompleterCodeBy { get; set; }
}


public abstract class StructureTypeFactory
{
    public abstract IStructureType GetStructureType(string type);
}

public class ConcreteStructureTypeFactory : StructureTypeFactory
{
    public override IStructureType GetStructureType(string type)
    {
       switch(type)
        {
            case "StructureCodeMagasin":
                return new StructureCodeMagasin();

            case "StructureChrono":
                return new StructureChrono();

            case "StructureLotSimple":
                return new StructureLotSimple();

            default:
                throw new ApplicationException("");
        }
    }
}

 public class StructureCodeMagasin : IStructureType
{
    public int Longueur { get ; set; }
    public int Position { get; set; }
    public int CompleterCodeBy { get { return 2; }  set { CompleterCodeBy = value; }  }

    public void GetCodeMagasin()
    {
        //some code
    }
}

Я пытаюсь использовать шаблон Factory, но как я могу получить доступ к методу GetCodeMagasin в этом примере:

public MainWindow()
    {
        InitializeComponent();

        StructureTypeFactory st = new ConcreteStructureTypeFactory();

        var structure = st.GetStructureType("StructureCodeMagasin");

        int longueur = structure.CompleterCodeBy;

    }

Я могу получить доступ к свойствам, но нетМетод, я хотел бы, чтобы структурная переменная была набрана StructureCodeMagasin.

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...