繁体   English   中英

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

[英]How to call upon a function that references objects in C#?

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

基本上我有一个功能:

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(ref card, ref cardNumber);

在 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决定了所有这些变量和所有这些值会发生什么。 您必须使所有这些都有意义 - 我们不知道您引用给我们的代码的语义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM