主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

matlab.lang.correction.ConvertToFunctionNotationCorrectionクラス

パッケージ:matlab.lang.correction

関数表記に変換してエラーを修正

説明

ConvertToFunctionNotationCorrectionオブジェクトは,ドット表記を使用して呼び出すべきではないメソッドをもつクラスで使用します。メソッドによってスローされるMExceptionオブジェクトは,ConvertToFunctionNotationCorrectionのインスタンスを使用して,メソッドを呼び出すためにドット表記を関数表記構文に変換することを提案できます。

作成

説明

cfnc = matlab.lang.correction.ConvertToFunctionNotationCorrection (方法は修正を作成して,MExceptionオブジェクトをスローした方法を呼び出すためにドット表記を関数表記構文に変換するよう提案します。

入力引数

すべて展開する

ドット表記を使用して誤って呼び出されたメソッドの名前。字符串スカラーまたは文字ベクトルとして指定します。方法は有効なMATLAB®識別子でなければなりません。有効なMATLAB識別子は,英数字(一个~ ~ Z, Z, 0 ~ 9)とアンダースコアで構成される字符串スカラーまたは文字ベクトルであり,最初の文字は英字で,テキストの長さはnamelengthmax以下です。

すべて折りたたむ

ドット表記を使用して呼び出すべきではないメソッドをもつクラスを作成します。クラスのメソッドがドット表記を使用して呼び出されるたびに,関数表記構文を提案します。

現在のフォルダーで,处理スーパークラスをサブクラス化することにより,クラスmyClassを作成します。方法ブロック内で,subsrefをオーバーロードして,myClassオブジェクトの呼び出しメソッドを関数表記構文に制限します。メソッドがドット表記を使用して呼び出されたときに,推奨される構文をエラーメッセージに追加するには,subsrefメソッド内でConvertToFunctionNotationCorrectionのインスタンスを使用します。

classdefmyClass <处理属性myProperty结束方法(隐藏)函数ref = subsref(obj, idx) firstSubs = idx(1).subs;如果idx(1)。类型~ =“。”|| any(string(firstSubs)) ==属性(obj))%圆括号索引、大括号索引或属性索引试一试ref =内装式(“subsref”obj, idx);返回结束elseif任何(string (firstSubs) = =方法(obj))使用点符号调用的有效方法我= MException (“myClass: useFunctionForm”...“使用函数语法来调用“%s”方法。”...firstSubs);cfnc = matlab.lang.correction.ConvertToFunctionNotationCorrection (firstSubs);我= me.addCorrection (cfnc);其他的使用点符号调用的无效方法、属性或字段我= MException (“MATLAB: noSuchMethodOrField”...“类“%s”的无法识别的方法、属性或字段“%s”。”...firstSubs类(obj));结束throwAsCaller(我)结束结束结束

myClassのインスタンスを作成し,ドット表記を使用してisvalidメソッドを呼び出します。isvalidは,myClassが自身のスーパークラスから継承するメソッドの1つです。

myObject = myClass;myObject.isvalid
使用函数语法调用'isvalid'方法。你的意思是:>> isvalid(myObject)

参考

関数

プロパティ

R2019bで導入