1

按照 Tasky 应用程序的核心,我创建了业务层和数据库层,但是在尝试编译时出现此错误:

Error CS0119: Expression denotes a 'value', where a 'method group' was expected (CS0119) (assales.core)

问题是没有行号或文件引用与错误一起出现,而编译错误通常会发生这种情况。这让我假设项目选项可能存在问题,但这只是一个猜测,有很多选项。我具体需要做什么才能找到错误或获取有关此错误的更多信息。

完整的构建输出:

Building: assales.core (Debug)
Performing main compilation...
/Library/Frameworks/Mono.framework/Versions/2.10.12/bin/dmcs /noconfig "/out:/Users/sb/assales/assales.core/bin/Debug/assales.core.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/System.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/System.Data.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/Mono.Data.Sqlite.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/System.Data.Linq.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/System.Xml.Linq.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/System.Core.dll" /nologo /warn:4 /debug:full /optimize- /codepage:utf8 "/define:DEBUG"  /t:library "/Users/sb/assales/assales.core/AssemblyInfo.cs" "/Users/sb/assales/assales.core/DL/SqlLite.cs" "/Users/sb/assales/assales.core/DL/AlcSalesDatabase.cs" "/Users/sb/assales/assales.core/BusinessLayer/Contracts/BusinessEntityBase.cs" "/Users/sb/assales/assales.core/BusinessLayer/Contracts/IBusinessEntity.cs" "/Users/sb/assales/assales.core/BusinessLayer/Location.cs" "/Users/sb/assales/assales.core/BusinessLayer/Managers/LocationManager.cs" "/Users/sb/assales/assales.core/DAL/LocationRepository.cs" 
Compilation failed: 1 error(s), 0 warnings

error CS0119: Expression denotes a `value', where a `method group' was expected


Build complete -- 1 error, 0 warnings

---------------------- Done ----------------------

Build: 1 error, 0 warnings
4

1 回答 1

0

我认为这是单声道编译器的问题。如果我在使用 var 的语句中省略“new”关键字:

// "var" 版本
公共类应用程序{
   公共静态无效主要(){
      //缺少关键字“新”
      var bitArray = System.Collections.BitArray();
   }
}

编译器不指示行号或文件名:

$ mcs 应用程序.cs
错误 CS0119:表达式表示“类型”,其中需要“变量”、“值”或“方法组”

相反,如果我明确声明 bitArray(不使用“var”):

公共类应用程序{
   公共静态无效主要(){
      //缺少关键字“新”
      System.Collections.BitArray bitArray = System.Collections.BitArray();
   }
}

编译器运行良好:

$ mcs 应用程序.cs
App.cs(3,27):错误 CS0119:表达式表示“类型”,其中需要“变量”、“值”或“方法组”
预计

我的 mcs 版本是:

$mcs --version
Mono C# compiler version 3.2.3.0

顺便说一句,Microsoft 编译器也适用于 App.cs 的“var 版本”

/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v4.0.30319/csc.exe App.cs
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

App.cs(4,23): error CS0119: 'System.Collections.BitArray' is a 'type', which is not valid in the given context
于 2014-01-31T08:39:51.650 回答