C# Implementing Abstract factory pattern
<p>Ive ABSTRACT FACTORY pattern in one of my projects:
<a href="http://www.dofactory.com/Patterns/PatternAbstract.aspx" rel="nofollow">http://www.dofactory.com/Patterns/PatternAbstract.aspx</a></p>

<p>Code:</p>

<pre><code>public class QuestaoResposta : QuestaoBaseResposta, IQuestao,IQuestionario
{
    public int IDQuestaoResposta { get; set; }
}

public class QuestaoFactory : QuestoesFactory
{
    public override QuestaoBaseResposta CreateQuestao()
    {
        return new QuestaoResposta();
    }
}

public abstract class QuestoesFactory
{
    public abstract QuestaoBaseResposta CreateQuestao();
}

public class QuestaoBaseResposta : IQuestao, IMarcas, IQuestionario
{
    // Constructor where i want to create a concrete instance 
    // of any class that inherits QuestaoBaseResposta using QuestoesFactory 
    // abstract class, and assign it to current instance of
    // QuestaoBaseResposta class
    public QuestaoBaseResposta(QuestoesFactory qf)
    {
        this = qf.CreateQuestao();
    }
}
</code></pre>

<p>Problem is that i cant assing a value to current class using "THIS" keyword.</p>

<p>Example:</p>

<pre><code>QuestaoBaseResposta qs = new QuestaoBaseResposta(new QuestaoFactory());

// Here i want the qs intance to be type of QuestaoResposta
// since im passing QuestaoFactory as argument,without cast anything.
qs.IDQuestaoResposta = 0;
</code></pre>

<p>What would you suggest to cast the QuestaoBaseResposta class to the inherit type (QuestaoResposta),without cast?</p>
