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

2 vues (au cours des 30 derniers jours)
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

Réponse acceptée

David Young
David Young le 4 Déc 2011
"Elegantly" is hard to do in this context, I think. There's some discussion of this kind of issue here.
  2 commentaires
Ben Mitch
Ben Mitch le 4 Déc 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 le 5 Déc 2011
Yes - my own view is that the design of subsref() isn't as helpful as it could be.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Construct and Work with Object Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by