Calling static method of a class from within same class
Mostrar comentarios más antiguos
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 comentarios
Jeff Miller
el 4 de Ag. de 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
el 4 de Ag. de 2021
Jeff Miller
el 4 de Ag. de 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
el 4 de Ag. de 2021
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!