[解決済み] 以下のメソッドまたはプロパティの間で呼び出しが曖昧である。
2022-02-03 17:17:29
質問
次の2つのコトルがあるとします。
public SomeClass(string a, Color? c = null, Font d = null)
{
// ...
}
public SomeClass(string a, Font c = null, Color? d = null)
{
// ...
}
~と私はこうしています。
SomeClass sc = new SomeClass("Lorem ipsum");
次のように表示されます。 "エラー1 以下のメソッドまたはプロパティの間で呼び出しがあいまいです [...]"。
最終的な結果は同じなので、どちらを参照しても問題ないように思えますが(少なくともこの特定のケースでは、私にとっては今それがすべてです)、これを回避するためのオプションは何でしょうか?
EDIT 1: オルトマン:簡略化した例です。
を書けるようにしたいだけです。
[...] new SomeClass("Lorem", Color.Green)
ではなく
[...] new SomeClass("Lorem", null, Color.Green)
解決方法は?
どちらのコンストラクタも同じ数の引数を取りますが、その順番が異なります。 2 つのコンストラクタの引数にデフォルト値を指定したため、2 番目の引数が指定されない場合、コンパイラは 2 つのオーバーロードを区別できません。
既存のコンストラクタを削除して、以下のように置き換えることをお勧めします。
public SomeClass(string a, Color? color, Font font)
{
// constructor implementation
}
public SomeClass(string a) : this(a, null, null) {}
public SomeClass(string a, Color color) : this(a, color, null) {}
public SomeClass(string a, Font font) : this(a, null, font) {}
関連
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NETにおけるstructとclassの違いは何ですか?
-
[解決済み] C#では、public、private、protected、アクセス修飾子がないことの違いは何ですか?
-
[解決済み] クラス内の項目の並び順。フィールド、プロパティ、コンストラクター、メソッド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である