MATLAB: Argin for a class method

method classnargin

fx = 'addme'; % the name of a function
nargin(fx) %returns the number of input arguments
ans =
2
I want to use "nargin" for a class method But I get an error.
fx='classname.methodname'
nargin(fx)
Error using ==> nargin
Not a valid M-file.
I want to call nargin from outside the class, for example in command window. What can I do?

Best Answer

NARGIN does not currently (as of R2012a) work on class methods. However, you might be able to get the information you want by inspecting the metaclass for your class with the ? operator. For example, try:
metaInfo = ?classname
methodInfo = metaInfo.MethodList
firstMethodInputs = methodInfo(1).InputNames
For a given method, you could find the MethodList entry with a matching name and then count InputNames to get the number of inputs. You'd also want to check if the last input is named varargin.