如何使用readonly属性实例化类

时间:2011-04-17 19:04:13

标签: c# class language-features instance readonly

我想从所有必需的信息中创建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 个答案:

答案 0 :(得分:1)

您不应该直接创建此课程 它的存在是使用内部构造函数从AudioCaptureDevice属性返回SupportedFormats属性的信息。

如果您尝试将其用于自己的目的,则应创建自己的类。