我有一个这样的对象:
public class CustomObject{
public byte[] FieldA {private get; set;}
public IPAddreess FieldB {private get; set;}
}
FieldA是FieldB的字节重复表示。
我从两个数据源创建此对象。 一个来自二进制文件,我需要快速,然后我更喜欢只设置FieldA。另一个是在我仅以“ FieldB格式”检索数据的应用程序中。
我想要这样的功能:
public IPAddress GetField(){
if (FieldB != null)
return FieldB;
FieldB = new IPAddress(FieldA);
return FieldB;
}
为简化起见,我使用了IPAddress转换,但是通常我要执行更复杂的操作。
这是正确的方法吗?还是有其他方法可以简化这一过程?我正在使用.NET CORE,谢谢。
答案 0 :(得分:2)
您可以在- 0 tic --> toc tictocMsg id=0 kind=0
#1 0.1 toc --> tic tictocMsg id=0 kind=0
#2 0.2 tic --> toc tictocMsg id=0 kind=0
#3 0.3 toc --> tic tictocMsg id=0 kind=0
#4 0.4 tic --> toc tictocMsg id=0 kind=0
#5 0.5 toc --> tic tictocMsg id=0 kind=0
的getter中完成此操作,而无需显式编写get方法:
FieldB
此代码使用私有后备字段private IPAddreess _fieldB;
public IPAddreess FieldB
{
get
{
if (_fieldB == null)
{
_fieldB = new IPAddress(FieldA);
}
return _fieldB;
}
set
{
_fieldB = value;
}
}
来存储属性的值。检索属性后,它将返回已经存储在字段中的值,或者根据_fieldB
的内容进行分配,然后返回它。