Creating a simple factory class in C#
<p>I'm creating a factory class to simplify creating objects of another class without polution the construtors of the target class (i think that's what factories are for)</p>

<p>This is what I have at the moment.</p>

<pre><code>public class QFactory
{
    public Quiz.Question q(string text, string buttonname)
    {
        Quiz.Question question = new Quiz.Question();
        question.QuestionText = text;
        question.QuestionImage = buttonname;

        return question;
    }

    public Quiz.Answer a(string answerText, bool answerRight = false)
    {
        Quiz.Answer answer = new Quiz.Answer();
        answer.text = answerText;
        answer.correct = answerRight;
        return answer;
    }
}
</code></pre>

<p>In order to use it to create Quiz.Question and Quiz.Answer objects i have to use it in the following way.</p>

<pre><code>Quiz.Question q = (new QFactory()).q("What is a tomato?","But_01_Idle");

Quiz.Answer a = (new QFactory()).a("fruit",true);
Quiz.Answer b = (new QFactory()).a("vegetable");
Quiz.Answer c = (new QFactory()).a("animal");

q.Answers = new List&lt;Quiz.Answer&gt;{a,b,c}; // add a,b,c answer to the question
</code></pre>

<p>How would I change the QFactory class so that its usage is like this instead (singletons?)?</p>

<pre><code>Quiz.Question q = QFactory.q("what is a Tomato?","But_01_Idle");
...
</code></pre>
