代码之家  ›  专栏  ›  技术社区  ›  Michael Shimmins

单声道投掷警告我认为不正确

  •  0
  • Michael Shimmins  · 技术社区  · 15 年前

    Mono发出警告:

    warning CS0414: The private field 'Convergence.Core.Services.PermissionService.userService' is assigned but its value is never used

    这很奇怪,因为它是最肯定使用的:

    例如:

    var systemRoles = (
        from e 
        in systemRoleRepository.Entities 
        where e.User.Username.Equals(userService.CurrentUser.Username)
        select e
    ).ToList();
    

    (where子句使用userservice)。

    对象与编译器描述的对象相同,声明为:

    private readonly IUserService userService;
    

    为了确定它实际上是被使用的,如果我注释掉声明,mono编译器会在linq查询上抛出并出错,说明没有声明userservice。

    我是否遗漏了一些非常明显的东西,或者这是单编译器中的一个bug(顺便问一下,RHEL5.5中2.8.1上的DMCS)。

    1 回复  |  直到 15 年前
        1
  •  1
  •   cdhowie    15 年前

    这几乎可以肯定是一个错误。请把它归档在 Novell's bug tracker