如何调用引用C#中对象的函数?

如何调用引用C#中对象的函数?,c#,function,syntax,picturebox,C#,Function,Syntax,Picturebox,这可能是一个非常愚蠢的问题,但我在任何地方都找不到答案 基本上我有一个功能: public int cardCheck(ref PictureBox userCard1, ref PictureBox userCard2, ref PictureBox userCard3, ref PictureBox dealerCard1, ref PictureBox dealerCard2, ref PictureBox dealerCard3, int card, int cardNumber) 我

这可能是一个非常愚蠢的问题,但我在任何地方都找不到答案

基本上我有一个功能:

public int cardCheck(ref PictureBox userCard1, ref PictureBox userCard2, ref PictureBox userCard3, ref PictureBox dealerCard1, ref PictureBox dealerCard2, ref PictureBox dealerCard3, int card, int cardNumber)
我需要调用这个函数。如果我这样调用该函数:

uCard1 = cardCheck(card, cardNumber);
它告诉我,我需要这些图片框的参考。但是,当我这样添加它们时:

uCard1 = cardCheck(PictureBox userCard1, PictureBox userCard2, PictureBox userCard3, PictureBox dealerCard1, PictureBox dealerCard2, PictureBox dealerCard3, card, cardNumber);
它告诉我PictureBox是一种类型,不能在该上下文中使用

我肯定我犯了一个非常愚蠢的语法错误,但我不知道在哪里。
如何正确调用引用程序中对象的函数?

仅根据第二行代码,您缺少的是如下内容:

uCard1 = cardCheck(card, cardNumber);
uCard1=cardCheck(参考卡,参考卡号)

在C#中,当参数在声明中标记为
ref
时,您还必须在调用站点添加
ref
。对于
out
,情况类似

但具体来说,根据您向我们展示的
cardCheck
声明,您可能需要所有参数:

int-uCard1=cardCheck(ref-userCard1、ref-userCard2、ref-userCard3、ref-dealerCard1、ref-dealerCard2、ref-dealerCard3、card、cardNumber)

ref
表示您正在传入一个对象,如果您调用的函数对其进行了修改,那么您将返回修改后的版本

您还必须定义自己的

PictureBox userCard1 = new PictureBox(blah blah);
PictureBox userCard2 = new PictureBox(blah blah);
PictureBox userCard3 = new PictureBox(blah blah);
PictureBox dealerCard1 = new PictureBox(blah blah);
PictureBox dealerCard2 = new PictureBox(blah blah);
PictureBox dealerCard3 = new PictureBox(blah blah);
int card = 0;
int cardNumber = 0;
像这样的事


当然,你可以随意调用你的局部变量。您正在调用的函数,
cardCheck
决定了所有这些变量和所有这些值将发生什么。你必须让所有这些都有意义-我们不知道你引用给我们的代码的语义。

uCard1=cardCheck(ref-userCard1,ref-userCard2,ref-userCard3,ref-dealerCard1,ref-dealerCard2,ref-dealerCard3,cardNumber)-虽然我怀疑您不需要函数签名中的
ref
。@Igor这似乎对我也不起作用:/任何其他建议?您需要在表单中添加pictureboxes(似乎有6个)并将这些pictureboxes的名称作为参数传递给函数,他们在变量名前面有
ref
关键字。@我不知道“那似乎不起作用”是什么意思。