2013-10-21 78 views
0

我正在將一些C++/CLI代碼翻譯成C#,並在類的構造函數中看到下面的代碼片斷。在C++中用作語句的布爾屬性

if(!prop1) 
     prop2; 

Prop1和prop2是同一類的2個公共布爾屬性,只有定義的get方法。

public: 

property bool  prop1  { bool get(); } 
property bool  prop2  { bool get(); } 

以上聲明是什麼意思?一個布爾屬性如何可以作爲一個自己的聲明? 它會在c#中翻譯成什麼?

+4

雖然它不是很好的設計,但只能爲其副作用調用屬性獲取器。你能提供更多關於代碼和屬性getter的上下文,以便我們看看是否有其他事情發生? –

+1

C++是否有屬性? –

+4

標準C++沒有屬性...所以我假設它使用的是Microsoft擴展。我唯一能想到的就是getter方法有副作用(否則調用它就沒有意義)。非常非常討厭的代碼,如果是這樣的話。 –

回答

1

該代碼似乎使用某種類型的C++擴展,可能基於this,我不太確定。

無論如何,從您發佈的代碼中可以清楚地看出,所討論的語句是無操作的,所以我只是將其忽略。

雖然有趣的問題。

+0

抱歉直言不諱,但是您只是沒有足夠的信譽讓我相信您的答案。 –

+0

夠公平的。我在這裏主要是爲了學習,這是一個有趣的研究。 –

+0

寒意,我只是在搞你;)就像精神雖然:) –