ho un set di statici "enumerazione" classi che sto usando per tenere i nomi delle variabili significative per rappresentare i valori di codice senza senso che ricevo su un file di input. Ecco un esempio di uno.Come valori dei campi statici di tipo utilizzando riflessione
Public Class ReasonCodeValue
Private Sub New()
End Sub
Public Shared ReadOnly ServiceNotCovered As String = "SNCV"
Public Shared ReadOnly MemberNotEligible As String = "MNEL"
End Class
Voglio scrivere un metodo che accettare il tipo di una di queste classi statiche e un valore di stringa e determinare se il valore è uno dei valori di campo statici. So come ottenere i campi di istanza di un oggetto specifico, e so come ottenere un elenco di campi statici per un tipo specifico; quello che non riesco a capire è come ottenere i valori dei campi statici senza un'istanza. Ecco cosa ho ottenuto finora.
Public Function IsValidValue(ByVal type As Type, ByVal value As String) As Boolean
Dim fields = type.GetFields(BindingFlags.Public Or BindingFlags.Static)
For Each field As FieldInfo In fields
DoSomething()
Next
End Function
dovrei avrei potuto fare le classi di enumerazione non statico solo così posso creare un'istanza di passare alla FieldInfo.GetValue
dentro il mio metodo di convalida. Preferirei mantenere la mia classe così com'è, se posso.
vedo un metodo chiamato GetRawConstantValue
. Sembra pericoloso Questo mi darà quello che sto cercando? Altre idee?
Ehi, lo metti in VB per me. Mai pensato di passare un nulla. Grazie. –
Fai una domanda a VB e cercherò di rispondere in VB. A volte va male male, ma in questo caso non è stato troppo difficile :) –
Un altro fatto JS: Jon Skeet calcola le sue risposte in un IL universale e quindi traduce il codice sorgente appropriata ... –