我的 MatLab 项目具有以下包文件结构:
RootFolder
+CustomUiElements
Styles.m
...
...
+DetailView
Controller.m
...
MainApp.m
在Controller.m
文件中,我在访问类文件时遇到问题,该文件Styles.m
只是一个数据类,其属性是属性结构,可用作我的 ui 元素的“样式”:
classdef Styles
%STYLES A collection of structures used to unify the styling of the
% application.
properties (Constant = true)
FontName = 'Helvetica';
FontSizes = struct('Title', 16, 'SubTitle', 14, 'BodyTitle', 12, 'Body', 10);
TabSizes = struct('Title', 260, 'LrgSubTitle', 120, 'SmlSubTitle', 75);
PaddingSizes = struct('None', 0, 'Small', 2, 'Med', 5, 'Large', 10);
LargeTabStyle = struct('FontName', Styles.FontName, ...
'FontSize', Styles.FontSizes.Title, 'FontWeight', 'demi', ...
'TabSize', Styles.TabSizes.Title);
... % and so forth
但是,每当我尝试调用类属性时,即使从控制台我也会收到以下错误:
>> CustomUiElements.Styles.LargeTabStyle
Undefined variable "Styles" or class "Styles.FontName".
由于我什至没有尝试访问道具FontName
,这让我相信这是 class 的 obj 构造的问题Styles
。在切换到“未打包”文件夹结构之前,我没有任何错误。如何创建一个具有常量道具并且可以使用包文件夹结构访问的类。
编辑:
我能够访问和使用该文件夹(CustomUiElements)中的其他类文件。但是,它们具有自定义构造函数、方法和属性,它们Styles
仅具有Constant
.