c# - 具有属性但未分配少数属性的类

标签 c#

我有 c# 类,我有不同的属性。

public class Employee
{
    public int ID;
    public string Name;
    public int Age;
}

WebServices pp=new WebServices();

Employee emp= pp.GetEmpInfo(); 
//pp is an instance of webservices which is web referenced in the app.

emp.ID=100;
emp.Age=25;

我没有从 GetEmpInfo() 为名称分配/获取返回值,这会引发任何异常吗?

如果您有一个包含 10 个属性的类并且不分配几个属性,它会破坏应用程序吗?

请分享您的想法。生产中有一些代码,我不确定结果,所以正在检查。

最佳答案

如果您的 Web 服务方法返回 null:

[WebMethod]
public Employee GetEmpInfo()
{
    return null;
}

然后下面会抛出一个NullReferenceException :

emp.ID = 100;

因为 emp 变量不会被赋值。

为了避免这种情况,请在访问其属性(或在您的情况下为公共(public)字段)之前验证变量是否已分配:

Employee emp = pp.GetEmpInfo(); 
if (emp != null)
{
    emp.ID = 100;
    emp.Age = 25;
}

关于c# - 具有属性但未分配少数属性的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620815/

相关文章:

c# - 将 HttpCookieCollection 转换为 NameValueCollection

c# - 如何解决 C# .NET N 层应用程序中的乐观并发更新?

c# - Azure 移动应用程序 - 自定义身份验证 - 无法登录

c# - EF 4.3 关系不正确

c# - 从类型名称的字符串表示形式强制转换为类型

c# - 正则表达式目录名称验证

c# - Controller 返回FileStreamResult时如何清除\清除模型状态错误?

c# - IEnumerable.Except 不起作用,那我该怎么办?

c# - NullReferenceException 包含 LINQ 表达式 MVC3

c# - 在 Startup 中合并 aspnetcore 项目,而不复制服务注册或管道