Properties με παραμέτρους. Ε;!

Έχουν δημοσιευτεί 09 Σεπτεμβρίου 08 09:20 πμ | KelMan 

Τις προάλλες με ρώτησε ένας μαθητής μου γιατί όταν γράφουμε ένα property, πχ

Public Property MyProperty As Integer

μόλις πατήσουμε το enter παράγται το

    Public Property MyProperty() As Integer
        Get

        End Get
        Set(ByVal value As Integer)

        End Set
    End Property

Που είναι το περίεργο; Οι παρενθέσεις μετά το MyProperty. Τι χρειάζονται;

Λοιπόν, μέσα σε αυτές τις παρενθέσεις μπορούμε να δηλώσουμε μια παράμετρο. Πχ

    Public Property MyProperty(ByVal Param As Integer) As Integer
        Get

        End Get
        Set(ByVal value As Integer)

        End Set
    End Property

Αυτή τη παράμετρο μπορούμε να τη χρησιμοποιήσουμε κανονικά μέσα στον κώδικα του Get/Set, πχ:

MyClass.MyProperty(5) = 3

όπου μέσα στο Set θα έχουμε value=3, Param=5. Ωραίο ε?!

Το θέμα είναι ότι όσο ωραίο κι αν είναι,δεν θα πρέπει να το χρησιμοποιείτε. Είναι ένα feature της VB.NET το οποίο δεν έχει όμως η C# (πράγμα που σημαίνει ότι για να χρησιμοποιήθει η κλάση μέσα από C# θα πρέπει να καταφύγει ο developer στο reflection - λέγεμε και work re-assurance) και ο λόγος που υπάρχει είναι για να διευκολύνεται ο προγραμματισμός με COM

Happy coding!

Σχόλια:

Χωρίς Σχόλια
Έχει απενεργοποιηθεί η προσθήκη σχολίων από ανώνυμα μέλη

Search

Go

Συνδρομές