C# 如何在类范围中使用依赖项?
我想使用我在类作用域中下载的依赖项。此代码适用于:C# 如何在类范围中使用依赖项?,c#,C#,我想使用我在类作用域中下载的依赖项。此代码适用于: using System; using System.IO; using System.Collections; namespace PrintFilesToConsole { class Preprogram { public void Main2() { IEnumerable myDirs = System.IO.Directory.EnumerateDirecto
using System;
using System.IO;
using System.Collections;
namespace PrintFilesToConsole
{
class Preprogram
{
public void Main2()
{
IEnumerable myDirs = System.IO.Directory.EnumerateDirectories("/Users/Eunice/Desktop");
Console.WriteLine("Hello World!");
}
}
class Program
{
static void Main(string[] args)
{
Preprogram preprogram = new Preprogram();
preprogram.Main2();
}
}
}
但是当我写作的时候
System.IO.Directory.EnumerateDirectories
("/Users/Eunice/Desktop");
在调用的函数之外
Main2
,进入类的范围
Preprogram
,计算机说该函数在当前上下文中不存在
除非我将返回值赋给变量,如
IEnumerable myDirs = System.IO.Directory.EnumerateDirectories("/Users/Eunice/Desktop");
enter code here
让我们简化您的示例,以说明问题所在 我们有一个类,它包含DoSomething方法 假设它还包含MakeStuff方法,该方法调用DoStuff方法: 我们在MakeStuff中所做的是调用一个方法并将返回值赋给一个局部变量 我们还可以将字段或属性放入a类: 我们甚至可以为该字段指定一个默认值:
public class A
{
private int y = 10;
...
}
但值不必硬编码:我们也可以使用函数的返回值,就像我们在MakeStuff方法中将返回值赋给局部变量时所做的那样:
public class A
{
private int y = this.DoSomething();
// Now y equals 42, because DoSomething() returns 42.
...
}
但是,如果放弃返回值,则不能在方法之外调用函数,例如,我们不能这样做:
public class A
{
this.DoSomething();
// This will not compile!
}
我希望这个简单的例子能说明为什么会出现所描述的错误。我试图让它尽可能简单-但是如果你不理解部分答案或任何东西,请随时评论你需要帮助的地方,我会尽力帮助你。请提供一个答案,现在你的问题还不清楚。如果不将结果分配给类成员,你不能在类范围内运行代码。谢谢你,托马斯先生。这就解决了我的误解。@Staxks听到这个消息很高兴:如果你觉得答案解决了问题,我会很高兴你点击绿色复选标记将其标记为“接受”。这有助于将注意力集中在仍然没有答案的老问题上。
public class A
{
private int y = 10;
...
}
public class A
{
private int y = this.DoSomething();
// Now y equals 42, because DoSomething() returns 42.
...
}
public class A
{
this.DoSomething();
// This will not compile!
}