using classdef, is it possible to mix run-time data access through the dot syntax with methods elegantly?

1 Ansicht (letzte 30 Tage)
hi
i am developing a class (using classdef) that maintains a structure internally with fields that are instance-dependent. i want to provide direct access to these instance-dependent fields through object.fieldname syntax, so i use subsref and override fieldnames() so that tab completion works correctly.
trouble is, now all methods called using the syntax object.method() also result in calls to subsref, so i have to provide a case in subsref for every method of the class. this seems inelegant at best, and error prone at worst.
is there another way to achieve what i want?
thanks ben

Akzeptierte Antwort

David Young
David Young am 4 Dez. 2011
"Elegantly" is hard to do in this context, I think. There's some discussion of this kind of issue here.
  2 Kommentare
Ben Mitch
Ben Mitch am 4 Dez. 2011
Thanks David. Seems there's a lot of murk around these sort of issues; I guess worse things happen at sea :).
David Young
David Young am 5 Dez. 2011
Yes - my own view is that the design of subsref() isn't as helpful as it could be.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Identification finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by