如何调用类中的复选框

时间:2013-02-12 22:48:03

标签: c# c#-4.0

我试图按照以下程序设置一些条件

public float GetSimilarity(int doc_i, int doc_j)
    {
        float[] vector1 = GetTermVector(doc_i);
        float[] vector2 = GetTermVector(doc_j);

      if (checkbox1.checked == true )

         return Similarties.ComputeDiceSimilarity(vector1, vector2);

      else if (checkbox2.checked == true )

        return Similarties.ComputeCosineSimilarity(vector1, vector2);

      else 

         return Similarties.ComputeJaccardSimilarity(vector1, vector2);
    }

,但问题是类内无法识别复选框。请问如何克服这个问题? 。对不起编程很糟糕,并提前感谢。

1 个答案:

答案 0 :(得分:1)

为什么需要直接访问不同类中应该计算某些内容的方法中的控件?将UI与业务逻辑硬连接将避免可重用的代码。

您可以将变量作为参数传递:

public float GetSimilarity(int doc_i, int doc_j, 
    bool compDiceSimilarity, bool compCosineSimilarity)
{
    float[] vector1 = GetTermVector(doc_i);
    float[] vector2 = GetTermVector(doc_j);

    if (compDiceSimilarity)
        return Similarties.ComputeDiceSimilarity(vector1, vector2);
    else if (compCosineSimilarity)
        return Similarties.ComputeCosineSimilarity(vector1, vector2);
    else
        return Similarties.ComputeJaccardSimilarity(vector1, vector2);
}

顺便说一句,你应该为控件和变量使用更有意义的名称。