gpt4 book ai didi

c# - 在 C# 中创建一个简单的工厂类

转载 作者:太空狗 更新时间:2023-10-30 00:00:23 26 4
gpt4 key购买 nike

我正在创建一个工厂类来简化创建另一个类的对象而不污染目标类的构造函数(我认为这就是工厂的用途)

这就是我目前所拥有的。

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;
}
}

为了使用它来创建 Quiz.Question 和 Quiz.Answer 对象,我必须按以下方式使用它。

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<Quiz.Answer>{a,b,c}; // add a,b,c answer to the question

我将如何更改 QFactory 类,使其用法像这样(单例?)?

Quiz.Question q = QFactory.q("what is a Tomato?","But_01_Idle");
...

最佳答案

在工厂中使方法静态化

关于c# - 在 C# 中创建一个简单的工厂类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com