www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@mbcfoundation/@propertycollection/subsasgn.m

    function obj = subsasgn(obj,S,v)
%SUBSASGN assignment for MBCFOUNDATION.PROPERTIESCOLLECTION objects
%
%  OPT.Property = NewValue
%
% See also MBCFOUNDATION.PROPERTIESCOLLECTION/SUBSREF 

%  Copyright 2006-2009 The MathWorks, Inc. 


if ~isscalar(obj)
    error(message('mbc:mbcfoundation:propertycollection:InvalidObject', class( obj )));
end

if strcmp(S(1).type,'.')
    prop = pGetInternalProp(obj,S(1).subs);
    if length(S)>1
        % subsasgn into property
        res = getprop(prop,obj.Object,obj.Converter);
        res = postsubsref(obj,res);
        v = subsasgn(res,S(2:end),v);
    end
    % convert before assignment
    v = presubsasgn(obj,prop,v);
    % set main property
    obj.Object = setprop(prop,obj.Object,v);
else
    error(message('mbc:mbcfoundation:propertycollection:InvalidArgument'));
end