2011-11-08 9 views
0

.NETとMonoの新機能です。ローカルで実行しようとしている.NET 4アプリケーションがあります。これを実行しようとすると(Ubuntuでxps4を使用して)コンパイルエラーが発生します。スタックトレースの終わりに、Mono/XPS上で実行されている.NETアプリケーションで「Bool」が見つかりません

/tmp/jeremy-temp-aspnet-0/3b8f3547/App_Web_635c7158_48.cs(32,21):エラーCS0246:型または名前空間名「bool」が見つかりませんでした。 。 usingディレクティブまたはアセンブリ参照がありませんか?

これはブール型を認識しないことを意味しますか? Googleの検索はそれほど役に立ちませんでした。

更新 - ここでは、コードです:あなたは@で(タイプ名などの)識別子の前に付ける場合は

public virtual @bool ShowRecentPlans { 
    get { 
     return ((@bool)(this.GetPropertyValue("ShowRecentPlans"))); 
+1

コードを投稿してください。 –

答えて

3

、あなたは、それが予約語のように見えるにもかかわらず、コンパイラを言っていますそれはあなたのプログラムで定義された何かを指します。あなたは何かが、これは仕事に行くのではありません

public class @bool 
{ 
... 
} 

のようにどこかで定義されていない限り

。あなたが識別子としてキーワードnewを使用したい場合

例えば

public virtual bool ShowRecentPlans { 
    get { 
     return (bool)(this.GetPropertyValue("ShowRecentPlans")); 
    } 
} 

を試してみては、あなたはできます

int new = 5; /// error! 
int @new = 5; /// compiles 

@はもちろん、どのように文字列をコンパイラに伝えるためにも使用されています解釈されるべきである。

// throws an error because \p and \m look like formatting sequences 
var path = "c:\pub\myFile.txt"; 
// compiles 
var path = @"c:\pub\myFile.txt"; 

はまた、私はただ聞いている:あなたが開始する代わりにbool@boolを使用し作ったもの?

(そして、記録のために、識別子としてキーワードを使用すると、非常に、非常に悪い考えです。)

1

あなたの戻り値の型がbool代わりの@boolでなければなりません。

関連する問題