matlab被限制,MATLAB:发现受限制的属性类

您可以使用将对象转换为结构的未记录的hack来检查对象的非公共属性. meta.Property对象包含隐藏的meta.Validation对象属性,该属性具有属性的验证信息:

Validation with properties:

Class: [1×1 meta.class]

Size: [1×0 meta.ArrayDimension]

ValidatorFunctions: {1×0 cell}

使用给定的示例类:

classdef SOcode

properties

myProperty1 double

myProperty2 struct

end

end

我们可以检查meta.PropertyList来找到我们需要的值:

>> test = struct(codemeta.PropertyList(1))

test =

struct with fields:

Name: 'myProperty1'

... snip ...

Type: [1×1 meta.type]

Validation: [1×1 meta.Validation]

DefiningClass: [1×1 meta.class]

... snip ...

然后我们可以执行以下操作:

codemeta = ?SOcode;

nprops = numel(codemeta.PropertyList);

validationclass = cell(nprops, 1);

for ii = 1:nprops

validationclass{ii} = codemeta.PropertyList(ii).Validation.Class.Name;

end

并收到:

>> validationclass

validationclass =

2×1 cell array

{'double'}

{'struct'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值