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

1 回表示 (過去 30 日間)
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

採用された回答

David Young
David Young 2011 年 12 月 4 日
"Elegantly" is hard to do in this context, I think. There's some discussion of this kind of issue here.
  2 件のコメント
Ben Mitch
Ben Mitch 2011 年 12 月 4 日
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 2011 年 12 月 5 日
Yes - my own view is that the design of subsref() isn't as helpful as it could be.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Type Identification についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by