namespace LanguageFeatures.Models
{
public class Product
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
//public int Test { get; set; }
}
//class TestProperty
//{
// Product p = new Product{Name = "asd"};
// p.
//}
}
第15行我不能用p。 从控制器我可以使用它。但是,当我想从模型文件夹访问时,我无法访问它。 为什么我不能使用引用变量?
答案 0 :(得分:11)
您正在尝试在类中编写执行代码。 请在方法或任何其他执行代码块中关闭它,它就可以了。
关注此文:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/class
一个类可以包含以下成员的声明:
我在下面添加了一些代码来说明构造函数的用法,遵循注释。
希望这澄清一下。快乐学习c#!
using System;
namespace LanguageFeatures.Models
{
public class Product
{
//field
private string name;
//property
public string Name
{
get { return name; }
set { name = value; }
}
public int Test { get; set; }
}
public class TestProperty
{
//constructor
public TestProperty()
{
Product p = new Product { Name = "asd", Test = 1 };
Console.WriteLine(p.Test.ToString());
}
}
}
答案 1 :(得分:4)
您可以使用它,但不能直接在类中使用,而是在方法体
中使用public class TestProperty
{
public void TestMethod()
{
Product p = new Product {Name = "asd"};
Console.WriteLine(p.Name);
}
}
答案 2 :(得分:0)
产生编译器的错误已经回答了你的问题:
错误CS0236 - 字段初始值设定项无法引用非静态字段,方法或属性'产品。[某事]'