Calling static method of a class from within same class
Show older comments
I am defining a static method which takes an object as input as such:
methods(Static)
function isEnsRltd = IsEnsembleRelated(var)
if var.IsEnsembleDependent
isEnsRltd = true;
else
isEnsRltd = false;
end
end
end
However, I am receiving an error 'Unable to resolve the name VariableContainer.IsEnsembleRelated.' whenever I try using the function.
I have no idea why. The function is called from within the same class it is defined, which shouldn't cause a problem unless MatLab doesn't allow.
This is the code where it is called:
function isEnsDep = get.IsEnsembleDependent(this)
isEnsDep = false;
if strcmp(this.Method, someString)
isEnsDep = true;
return;
end
for ct = 1:numel(this.SourceVar)
if VariableContainer.IsEnsembleRelated(this.SourceVar(ct))
return;
end
end
end
I am still fairly new to MatLab OOP, thank you.
4 Comments
Jeff Miller
on 4 Aug 2021
Are you saying this is all within a
classdef VariableContainer
?
I have certainly called static methods of a class like this from within the functions of the class itself, so I would think this should work.
Clarence Domond
on 4 Aug 2021
Jeff Miller
on 4 Aug 2021
Sorry, I don't see what's wrong. But I have definitely called static functions like this from within their classes. Just grasping at a few more straws:
And that classdef is in a file called VariableContainer.m?
And VariableContainer.m is available on the matlab path?
Clarence Domond
on 4 Aug 2021
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!