我想说我正在用简单的编码学习语言.
如果我创建一个对象ResourceTemplate作为
public class ResourceTemplate
{
public string Name;
public int Value;
}
Run Code Online (Sandbox Code Playgroud)
然后做了
List<ResourceTemplate> resource = new List<ResourceTemplate>();
Run Code Online (Sandbox Code Playgroud)
该资源将是一个具有结构的列表ResourceTemplate.如果是这样,为什么我不能使用 resource.Add("product", 500);?
编译器说它不能对ResourceTemplate函数进行重载.
您应该创建该类的新实例:
resource.Add(new ResourceTemplate {Name = "product", Value = 500});
Run Code Online (Sandbox Code Playgroud)
或者像这样:
ResourceTemplate resourceTemplate = new ResourceTemplate
{
Name = "product",
Value = 500
};
resource.Add(resourceTemplate);
Run Code Online (Sandbox Code Playgroud)
但是,通过向您的类添加构造函数,如下所示:
public class ResourceTemplate
{
public ResourceTemplate(string name, int value)
{
Name = name;
Value = value;
}
public string Name;
public int Value;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以:
resource.Add(new ResourceTemplate("product", 500 ));
Run Code Online (Sandbox Code Playgroud)
另外我建议您使用属性而不是公共字段:
public string Name { get; set; }
public int Value { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |