2011-04-17 51 views
0

我想根據所有必需的信息創建AudioFormat類的實例。如何實例具有隻讀屬性的類

基本上,我有什麼是

  • int BitsPerSample
  • int頻道
  • int SamplesPerSecond
  • WaveFormatType WAVEFORMAT

的問題是,簡單地使用類似

AudioFormat format = new AudioFormat(); 
format.BitsPerSample = BitsPerSample; 
[...] 

不起作用,因爲Property or indexer 'System.Windows.Media.AudioFormat.BitsPerSample' cannot be assigned to -- it is read only

有沒有簡單的方法來創建這樣一個對象?如果不是,我該怎麼做才能創建它?使用繼承,覆蓋屬性,以便他們有setter?創建對象的XML表示,然後反序列化它?使用其他一些醜陋的黑客(沒有unsafe :-))?

+1

順便說一句,這些是_properties_,而不是屬性。 – SLaks 2011-04-17 19:15:00

回答

1

你不應該直接創建這個類。
它使用內部構造函數從SupportedFormats屬性返回AudioCaptureDevice類的信息。

如果您嘗試將它用於自己的目的,您應該創建自己的類。

+0

那麼,我該如何通過TCP套接字傳輸'AudioFormat'實例?目前,我正在把需要重建它的四個成員,以減少將其完全序列化爲xml等的開銷。目前,它只有16個字節。 – Etan 2011-04-17 19:12:23

+0

你不應該。你應該創建自己的班級。 – SLaks 2011-04-17 19:12:43

相關問題