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 CenterFile Exchange에서 Construct and Work with Object Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by