Conversione da VB.NET a C #
-
19-09-2019 - |
Domanda
In C # non si può avere indicizzato proprietà. Detto questo, come faccio a convertire il seguente codice da VB.net a C #?
Private _PatchSpectrum(49) As Double
Public ReadOnly Property GetPatchSpectrum() As Double()
Get
Return _PatchSpectrum
End Get
End Property
Public WriteOnly Default Property PatchSpectrum(idx As Integer) As Double
Set(ByVal value as Double)
_PatchSpectrum(idx) = value
End Set
End Property
Soluzione
Si potrebbe fare questo tipo:
private double[] _PatchSpectrum = new double[49]
public double[] GetPatchSpectrum
{
get { return _PatchSpectrum; }
}
public double this[int index]
{
set { this._PatchSpectrum[index] = value; }
}
Altri suggerimenti
O con metodi invece di proprietà:
double[] _patchSpectrum = new double[49];
public void SetPatchSpectrum(int index, double value)
{
_patchSpectrum[index] = value;
}
public double[] GetPatchSpectrum()
{
return _patchSpectrum;
}
È possibile definire un indicizzatore sul vostro oggetto, che è come le classi di raccolta come il lavoro List
. Per esempio:
public double this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return _PatchSpectrum[i];
}
set
{
_PatchSpectrum[i] = value;
}
}
Per le conversioni di codice future controllare la Telerik Codice Converter .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow