该类的每次调用都会覆盖值

时间:2018-12-08 18:23:37

标签: c#

我正在使用filehelper,并且在从类的读入开始时生成了guid,但是在首次将数据分配给file helper时,每次我都不想要的调用都更改了guid该类包含该行的GUID。

我正在使用的班级

[DelimitedRecord(",")]
[IgnoreEmptyLines]
public class FuelPumpData
{
    [FieldHidden]
    private string  _guid;

    [FieldHidden]
    public  String Code
    {
        get
        {
            return _guid ?? (_guid = Guid.NewGuid().ToString("N")); 
        }
    }
    [FieldQuoted]
    public string Date { get; set; }
    [FieldQuoted]
    public string Time { get; set; }
    [FieldQuoted]
    public string CustomerName { get; set; }
    [FieldQuoted]
    public string CustomerName2 { get; set; }
    public string SystemGroup1 { get; set; }
    [FieldQuoted]
    public string CardCode { get; set; }
    [FieldQuoted]
    public string SystemGroup4 { get; set; }
    public decimal FuelQty { get; set; }
    public decimal FuelValue { get; set; }
    [FieldQuoted]
    public string FuelType { get; set; }
    [FieldQuoted]
    public string SiteName { get; set; }
    [FieldQuoted]
    public string Pump { get; set; }
}

如您所见,我正在生成guid ok,但没有破折号,但我不相信它是正确的,因为每次都被覆盖。

我当然会使用文件助手,所以这里将显示我的方法。

 var engine = new FileHelperEngine<FuelPumpData>();
 var productSales = engine.ReadFile(Filename);

当我去查询表中的代码中根本没有的guid时,那是因为我相信我每次想在类中保留它的值时都在创建一个新的guid行。

1 个答案:

答案 0 :(得分:1)

您可以放置​​这样的塞特犬

public String Code
        {
            get
            {
                return _guid ?? (_guid = Guid.NewGuid().ToString("N"));
            }
            set
            {
                _guid = value;
            }
        }