无法从另一个类调用方法

时间:2016-04-28 16:17:00

标签: c#

我尝试拨打r_userIdList,但没有显示。我不知道为什么。有什么建议吗?

myCar.FormatMe()

非常感谢。

5 个答案:

答案 0 :(得分:11)

您的代码中没有输出

class Program
{
    static void Main(string[] args)
    {
        Car myCar = new Car();
        myCar.Make = "BMW";      
        Console.WriteLine(myCar.FormatMe());
    }
}

class Car
{
    public string Make { get; set; }
    public string FormatMe()
    {
        return string.Format("Make: {0}", this.Make);
    }

}

答案 1 :(得分:4)

孤立的字符串和阅读而不是写作

您正在从FormatMe()函数返回一个字符串,但实际上并没有对它执行任何操作:

myCar.FormatMe(); // This will return your value, but it isn't being stored

此外,您正在调用实际需要来自用户的Console.ReadLine()方法,而不是将其输出给用户。

存储您的变量并将其写出来

考虑将其存储在变量中或直接将其作为参数传递给要作为输出发送的Console.WriteLine()方法:

// This will store the results from your FormatMe() method in output
var output = myCar.FormatMe();
// This will write the returned string to the Console
Console.WriteLine(output);
// You can now read it here
Console.ReadLine();

或:

// Write the output from your FormatMe() method to the Console
Console.WriteLine(myCar.FormatMe());
// Now you should be able to read it
Console.ReadLine();

示例

您可以see an interactive example of this in action here及其输出如下所示:

enter image description here

答案 2 :(得分:1)

通过调用Console.WriteLine()FormatMe()执行相同操作来包装您的函数调用。

你在函数调用中所做的只是返回一个字符串,但不对它做任何事情,比如将它分配给变量或将其作为参数传递给另一个函数。因此,它什么都不做,"因为你没有做任何事情。

答案 3 :(得分:1)

您应该从FormatMe()获取值,或者只是打印它:

static void Main(string[] args)
{
     Car myCar = new Car();
     myCar.Make = "BMW";           
     Console.ReadLine(myCar.FormatMe());
}

答案 4 :(得分:0)

对不起有点晚了;而且我不确定接受这种答案;如果不是正确的方式,请原谅我。

让我们在一个例子的帮助下看一下这个问题。那,你要求一个人(here it is a formatted string)给一个指定的人(这里是car)。问题是给我一个格式化的刺(FormatMe())。一切都很好 - 对此。

接下来是什么?如果一切正常(意味着函数中没有问题)给你格式化的字符串,那么该人就会给你结果。在你的情况下这也没关系(函数完全返回格式化的字符串)。

您目前需要做什么?你需要从相应的人那里收集产品。不幸的是你忘了收集它们,但你正试图将它交给另一个人。这种情况正在你的情况下发生。

那该怎么办?在将格式化的字符串传送到控制台之前,您需要收集产品。那就是:

string formattedString =myCar.FormatMe(); // collecting formatted string
Console.WriteLine(formattedString); // delivering it to the console

或者您可以在前往控制台的路上收集它们,如下所示:

Console.WriteLine(myCar.FormatMe()); // delivering it to the console