由于某种原因,当试图将表达式主体用作视图模型时,会出现构建错误。
这有效:
public class SolutionMaintenanceViewModel
{
public SolutionMaintenanceViewModel(IActiveUserService currUserSrv)
{
_currUserSrv = currUserSrv;
}
...
}
鉴于此:
public class SolutionMaintenanceViewModel
{
public SolutionMaintenanceViewModel(IActiveUserService currUserSrv) => _currUserSrv = currUserSrv;
...
}
给出以下内容:
1> C:\ MyPath \ Models \ SolutionMaintenanceViewModel.cs(16,77,16,79):错误CS1002:;预期的
1> C:\ MyPath \ Models \ SolutionMaintenanceViewModel.cs(16,77,16,79):错误CS1519:类,结构或接口成员声明中的无效令牌'=>'
1> C:\ MyPath \ Models \ SolutionMaintenanceViewModel.cs(16,93,16,94):错误CS1519:类,结构或接口成员声明中的无效令牌'='
1> C:\ MyPath \ Models \ SolutionMaintenanceViewModel.cs(16,106,16,107):错误CS1519:无效的令牌';'在类,结构或接口成员声明中 ===========构建:0成功,1失败,4最新,跳过0 ==========
值得注意的是,在Visual Studio的“错误列表”窗口下没有错误显示。仅在“输出”窗口下。
为什么会这样?
使用.NET Framework 4.7.2
编辑:根据要求,以下是整个视图模型:
public class SolutionMaintenanceViewModel
{
private IActiveUserService CurrUserSrv;
public SolutionMaintenanceViewModel(IActiveUserService currUserSrv) => CurrUserSrv = currUserSrv;
public List<ConcernArea> AllConcernAreas { get; set; }
public IEnumerable<DealerFeedback> AllDealerFeedback { get; set; }
public List<PortalProductSubGroup> AllPPSGs { get; set; }
public string AttachmentGUID { get; set; }
public string AttachmentGUIDs { get; set; }
public List<SolutionAttachment> Attachments { get; set; }
public bool CanSaveSubmit =>
(Status == SolutionStatus.NewDraft || Status == SolutionStatus.MaintenanceDraft)
&& IsDealerOrHasMaintenancePermission;
private bool IsDealerOrHasMaintenancePermission =>
CurrUserSrv.GetActiveUser() is IDealer || CurrUserSrv.GetActiveUser() is InternalUser &&
((InternalUser)CurrUserSrv.GetActiveUser()).GetPermission(PermissionsProgramAreas.MAINTAINSOLUTIONS
.ToString()) == PermissionsValue.WRITE;
public bool CanApprove =>
Status == SolutionStatus.Pending && CurrUserSrv.GetActiveUser() is InternalUser &&
((InternalUser)CurrUserSrv.GetActiveUser()).GetPermission(PermissionsProgramAreas.APPROVESOLUTIONS
.ToString()) == PermissionsValue.WRITE;
public bool CanDelete =>
DealerDraftOrAuthorizedOrLastMaintained
&& HasBeenSaved()
&& (NewDraftCanBeDeleted || !HasEverBeenApproved);
private bool DealerDraftOrAuthorizedOrLastMaintained =>
!string.IsNullOrEmpty(OriginallyCreatedByDealerUsername) || CurrUserSrv.GetActiveUser() is InternalUser &&
(((InternalUser)CurrUserSrv.GetActiveUser()).GetPermission(PermissionsProgramAreas.DELETESOLUTIONS
.ToString()) == PermissionsValue.WRITE || CurrUserSrv.GetActiveUser().Username == UserModified);
private bool NewDraftCanBeDeleted =>
Status == SolutionStatus.NewDraft
&& (
string.IsNullOrEmpty(OriginallyCreatedByDealerUsername)
|| CurrUserSrv.GetActiveUser() is IDealer
&& CurrUserSrv.GetActiveUser().Username == OriginallyCreatedByDealerUsername
);
private bool HasBeenSaved() => VersionID != 0;
public bool CanDisapprove =>
(Status == SolutionStatus.Pending || Status == SolutionStatus.Approved)
&& CurrUserSrv.GetActiveUser() is InternalUser
&& ((InternalUser)CurrUserSrv.GetActiveUser()).GetPermission(PermissionsProgramAreas.APPROVESOLUTIONS
.ToString()) == PermissionsValue.WRITE;
public bool CanSeeAttachments =>
CurrUserSrv.GetActiveUser() is InternalUser || Status == SolutionStatus.Approved;
public bool CanAddAttachments =>
CurrUserSrv.GetActiveUser() is InternalUser
&& (Status == SolutionStatus.MaintenanceDraft || Status == SolutionStatus.NewDraft);
[MaxLength(2000)]
public string Cause { get; set; }
[Required]
[MaxLength(2000)]
public string Complaint { get; set; }
[Required]
public int CompanyNumber { get; set; }
[Required]
public int ConcernAreaID { get; set; }
[Required]
[MaxLength(2000)]
public string Correction { get; set; }
[MaxLength(2000)]
public string DealerCreatedNotes { get; set; }
public DealerFeedback DealerFeedback { get; set; }
[MaxLength(2000)]
public string DealerNotes { get; set; }
public bool HasEverBeenApproved { get; set; }
public int HeaderID { get; set; }
[MaxLength(2000)]
public string InternalNotes { get; set; }
public IEnumerable<string> ItemNums { get; set; }
public bool IsSubmit { get; set; }
public string Key { get; set; }
public string OriginallyCreatedByDealerUsername { get; set; }
public int? PortalProductSubGroupID { get; set; }
public IEnumerable<string> SolutionSerialsDistinctSerialNums { get; set; }
public int? SolutionSerialsSerialRangeFrom { get; set; }
public int? SolutionSerialsSerialRangeTo { get; set; }
public SolutionStatus Status { get; set; }
[Required]
[MaxLength(100)]
public string Title { get; set; }
public string UserModified { get; set; }
public int VersionID { get; set; }
}