2013-05-03 22 views
0

我在C++這樣的功能:我怎樣才能使C++中的函數將像C#中的屬性?

List<String^> ^GetCodecs() 
    { 
     List<String^> ^l = gcnew List<String^>; 

     String ^s; 

     for (int i=0;i<3333;i++) 
     { 
     s = gcnew String(Encoder_GetCodecName(i)); 
     l->Add(s); 
     } 

     return l; 
    } 

而且這是在C#中,我發現了清單:

List<string> l = new List<string>(f.GetCodecs()); 

所以升含有3333個指數法一些充滿編解碼器的名字。我想現在要做的是在C#中,而不是做:List l = new List(f.GetCodecs());

爲了讓不知何故,我將能夠例如做:

f.GetCodecs。

當我點擊GetCodecs後的點時,它會打開一個新的編解碼器大列表,我將能夠用箭頭向下移動,然後選擇一個我想要的。

像屬性或類似的東西。而不是像現在的List。

編輯!

例如:

我在做f.getcodecs。

最後一點後,我會看到編解碼器這樣visualy:

mpej XVID 的DivX

我會立刻看到它們,而不需要遍歷它。

+3

我很困惑... – tnw 2013-05-03 15:39:18

+0

是的,我也是。這不是一個屬性是C#,是嗎? – Pacane 2013-05-03 15:39:51

+0

tnw現在在C#我在做清單 l =新列表....所有這一切如上。然後我包含一個編解碼器列表。我想以某種方式,而不是做列表升=新.....只是爲了使f.GetCodecs。之後 。最後一點它會顯示一個List,這樣我可以在編解碼器的上下之間移動。可視化它像一個ListView,而不是通過List循環c#,並找到我想做的編解碼器,如果我在做f.GetCodecs。它會告訴我名單。 – 2013-05-03 15:43:47

回答

2

這就是我想你問:

當我鍵入C++編輯器f.GetCodecs.,我想的IDE到 顯示後編解碼器的列表,以便我可以從 列表中選擇一個項目,而不必鍵入f.GetCodecs.mpegCodec

如果這是你想要的,那麼你需要GetCodecs是(或返回,如果它是一個方法)的對象與你想要的名稱字段/方法。例如,您必須選擇設計對象時出現的名稱,而不是基於機器上安裝的編解碼器。

+0

可能他需要一些代碼生成來創建基於存在的編解碼器組的那些成員。 – 2013-05-04 23:03:01

0

你需要明確,使其屬性:

property List<String^> ^GetCodecs 
{ 
    List<String^>^ get() 
    { 
     List<String^> ^l = gcnew List<String^>; 
     String ^s; 

     for (int i=0;i<3333;i++) 
     { 
      s = gcnew String(Encoder_GetCodecName(i)); 
      l->Add(s); 
     } 

     return l; 
    } 
} 

我沒有現成的編譯器,所以我無法測試這個代碼,但你的想法。更多細節可以在here找到。

相關問題