C# 赋值运算符不工作
调试代码时,我看到有一个数值,但它不会更新C# 赋值运算符不工作,c#,C#,调试代码时,我看到有一个数值,但它不会更新Model.Weight private Person Model { get; set; } public void Init(string pId) { //只需从本地数据库获取数据,它不是空的 Model=\u personService.GetPerson(pId); } Person.cs public class Person { public decimal Weight { get; set; } } 作业很好: using
Model.Weight
private Person Model { get; set; }
public void Init(string pId)
{
//只需从本地数据库获取数据,它不是空的
Model=\u personService.GetPerson(pId);
}
Person.cs
public class Person
{
public decimal Weight { get; set; }
}
作业很好:
using System;
class Foo
{
static void Main()
{
var foo = new Foo();
foo.Init("abc");
var person = foo.Model;
foo.Weight = 123.45M;
Console.WriteLine(person.Weight); // 123.45
}
private Person Model { get; set; }
public void Init(string pId)
{
Model = _personService.GetPerson(pId);
}
public decimal Weight
{
get { return Model.Weight; }
set { Model.Weight = value; }
}
}
public class Person
{
public decimal Weight { get; set; }
}
static class _personService // yes I know this isn't representative of your setup
{
internal static Person GetPerson(string pId)
{
return new Person();
}
}
Weight
是Model
的静态变量吗?显示a)权重的定义和b)为什么您认为它没有得到更新。它不是静态的public decimal Weight{get;set;}
您在哪里调用或分配了权重?能否提供一个更完整、可运行的代码示例,让我们看看您在做什么?嗨,Marc,与我的代码有什么区别,我没有看到任何区别。没有任何区别。这就是重点。作业做得很好。问题在于您没有提供的代码。@为了让我们找到您的错误,我们需要一个可运行的示例。尝试创建一个。我想你自己做这件事会发现问题的。
using System;
class Foo
{
static void Main()
{
var foo = new Foo();
foo.Init("abc");
var person = foo.Model;
foo.Weight = 123.45M;
Console.WriteLine(person.Weight); // 123.45
}
private Person Model { get; set; }
public void Init(string pId)
{
Model = _personService.GetPerson(pId);
}
public decimal Weight
{
get { return Model.Weight; }
set { Model.Weight = value; }
}
}
public class Person
{
public decimal Weight { get; set; }
}
static class _personService // yes I know this isn't representative of your setup
{
internal static Person GetPerson(string pId)
{
return new Person();
}
}