Bonjour,

Sous VBA il est possible de définir un membre par défault, si je définis la classe clsString comme suivant :

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private m_str As string
 
'default member
Public Property Get value() As String
Attribute value.VB_Description = "Default member."
Attribute value.VB_UserMemId = 0
 
    value = m_str
 
End Property
 
'
Public Sub method()
 
End Sub

Je peux par exemple écrire (cela revient en quelque sorte à enrichir un type de base).

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Dim str As New clsString: str = "Test" ' Conversion implicite d'une chaine de caractère en object via le membre par défaut
 
str.method

Y-a-t'il quelque chose d'équivalent en C# 8.0, peut-être via des attributs comme en VBA ou en redéfinant l'opérateur d'affectation (?) = ?

En fait, je cherche à enrichir une enumération par un object ou plus exactement à accèder aux objects via une énumération.

Merci par avance !