C# 如何将数据从一个窗体发送到另一个类的函数

C# 如何将数据从一个窗体发送到另一个类的函数,c#,C#,我知道如何将数据从一个表单传递到另一个表单,但如何将数据从一个表单传递到类。这是我想从表格1传递到课堂问题的数据: string GrpID = "somevalue"; string DurationID = "somevalue";` 我搜索了一下,但没有得到确切的答案 class Question { string GroupID="here i want this value of GroupID,how can i get this"; string DuraID="

我知道如何将数据从一个表单传递到另一个表单,但如何将数据从一个表单传递到类。这是我想从
表格1
传递到课堂问题的数据:

string GrpID = "somevalue";
string DurationID = "somevalue";`
我搜索了一下,但没有得到确切的答案

class Question
{
    string GroupID="here i want this value of GroupID,how can i get this";
    string DuraID="and here value of DurationID";

    // so that i can use them here like this
    public IEnumerable<Question> GetQuestions(string topicId, int marks)
    {
        string sql = "select QID,Question,Opt1,Opt2,Opt3,Opt4,AnsOp,Marks from Questions where TopicID IN(" +
                     topicId + ") and Marks=" + marks.ToString();
        var cmd = new OleDbCommand(sql, new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb"));
        var rs = cmd.ExecuteReader();

        if (rs != null)
        {
            while (rs.Read())
            {
                yield return
                    new Question
                    {
                        Id = rs[0].ToString(),
                        Text = rs[1].ToString(),
                        Option1 = rs[2].ToString(),
                        Option2 = rs[3].ToString(),
                        Option3 = rs[4].ToString(),
                        Option4 = rs[5].ToString(),
                        AnswerOption = rs[6].ToString(),
                        Marks = marks
                    };
            }
        }
    }
}
public void Foo()//In this function Can i pass that `string[] conf` here?
        {
            var totQsn = Convert.ToInt16(conf[0]); // isn't this just the sum of everything else?
            var mark1qsn = Convert.ToInt16(conf[3]); //this variable contains number of question to be display of mark 1
            var mark2qsn = Convert.ToInt16(conf[4]);
            var mark3Qsn = Convert.ToInt16(conf[5]);
            var mark4Qsn = Convert.ToInt16(conf[6]);

            var mark1questionSet = GetQuestions(topicId, 1).ToList();
            var mark2questionSet = GetQuestions(topicId, 2).ToList();
           }
课堂提问
{
string GroupID=“这里我想要GroupID的这个值,我怎样才能得到它”;
string DuraID=“此处为DurationID的值”;
//这样我就可以在这里像这样使用它们
公共IEnumerable GetQuestions(字符串主题ID,整数标记)
{
string sql=“选择QID、问题、Opt1、Opt2、Opt3、Opt4、AnsOp、TopicID所在问题的标记(”+
topicId+”)和Marks=“+Marks.ToString();
var cmd=new OleDbCommand(sql,new OleDbConnection(@“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb”);
var rs=cmd.ExecuteReader();
如果(rs!=null)
{
while(rs.Read())
{
生利
新问题
{
Id=rs[0]。ToString(),
Text=rs[1]。ToString(),
选项1=rs[2]。ToString(),
Option2=rs[3]。ToString(),
Option3=rs[4]。ToString(),
Option4=rs[5]。ToString(),
AnswerOption=rs[6]。ToString(),
分数=分数
};
}
}
}
}
public void Foo()//在这个函数中,我可以在这里传递'string[]conf'吗?
{
var totQsn=Convert.ToInt16(conf[0]);//这不就是其他所有内容的总和吗?
var mark1qsn=Convert.ToInt16(conf[3]);//此变量包含标记1要显示的问题数
var mark2qsn=Convert.ToInt16(conf[4]);
var mark3Qsn=Convert.ToInt16(conf[5]);
var mark4Qsn=Convert.ToInt16(conf[6]);
var mark1questionSet=GetQuestions(topicId,1.ToList();
var mark2questionSet=GetQuestions(topicId,2.ToList();
}

向类中添加方法:

class Question
{

   public void SomeFunction(string grpId, string durationId)
   {
        ...
   }

}
然后,您可以从表单中调用它:

questionInstance.SomeFunction("somevalue","somevalue");

你能在课堂上更新这个问题吗?你想对那个类中的值做什么?@Durga为什么不使用一个属性呢?这样我就可以在这里像这样使用它们,嗯,确切地说,在哪里?如果我不想在类函数中直接传递那个值,比如。如果我想传递
string[]conf=db.GetConfiguration(Convert.ToInt16(DurationID)).Split(“|”)
这个conf数组,并希望在class
totQsn=Convert.ToInt16(conf[0])中像这样使用它的值
@Durga-然后调整参数类型以接受
string[]
,并在方法中相应地处理它。我已经编辑了问题,我如何调整参数类型以使其接受string[]conf,因为我还想像这样使用此函数
var mark1questionSet=GetQuestions(topicId,1).ToList();var mark1questionSet=GetQuestions(topicId,2.ToList()
@Durga所以将
void
更改为
List
,并将
string[]conf
添加到参数中?