文字列とオブジェクトの連結を禁止する

サイモン・ベルゴット

API内の一連の文字列をクラスに変換しています。コアAPIの一部のタイプを置き換えて、タイプエラーを追跡できるため、コンパイラを広範囲に使用してこれを支援しています。

ただし、このアプローチにはイライラするバグの原因があります。

// linqpad snippet
void Main()
{
    var t = "yay : " + (new Foo());
    t.Dump(); // "yay: namespace.Foo" instead of compilation error
}

class Foo {
}

C#は、文字列とユーザー定義オブジェクトを喜んで追加します。これを警告またはコンパイルエラーに変える方法はありますか?

このデータは最終的にユーザーに表示されるため、コンパイルエラーが必要です。1つの連結を見逃すと、ユーザーにはアプリケーションにクラス名が表示されますが、これは私が望んでいる動作ではありません。

ジョンスキート

C#は、文字列とユーザー定義オブジェクトを喜んで追加します。これを警告またはコンパイルエラーに変える方法はありますか?

はい-VisualStudio2015以降を使用している場合:)

あなたは使用することができますロスリンを独自のコード診断/コード修正を作成するには、と私は信じている、これはあなたがエラーであることに単なる警告であることから、問題をエスカレートすることができます。その後、この診断を継続的インテグレーションビルドに含めることができます。

ただし、これをどこまで進めるかに注意してください。私は通常、これを完全なエラーにするのではなく、コードレビューで処理しようとします。C#の独自の方言を作成することは、滑りやすい坂道になる可能性があります。

場合によっては、指定したコードが完全に適切である可能性があることに注意してください。たとえばFooオーバーライドToString()する場合などです。あなたが実際にあることを確認しますが、これを禁止したいですか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Thymeachでth:eachのオブジェクトの文字列を連結する

分類Dev

PHP匿名オブジェクトの文字列を連結する奇妙な動作

分類Dev

Javascript:オブジェクトキーとの一致を妨げる連結文字列の余分な文字

分類Dev

文字列を配列の各オブジェクトに連結します

分類Dev

2つのオブジェクトを文字列連結するための式ツリーを作成する

分類Dev

Javascript:文字列をオブジェクトに連結する方法は?

分類Dev

ARMテンプレートのオブジェクトと文字列を連結します

分類Dev

null文字列オブジェクトと文字列リテラルの連結

分類Dev

文字列オブジェクトのリストを連結する最良の方法?

分類Dev

javascriptでオブジェクト内のサブオブジェクト配列を連結する方法は?

分類Dev

オブジェクトの配列に配列を連結する

分類Dev

さまざまなタイプのオブジェクトを文字列に連結する(Python)

分類Dev

JavaScript:オブジェクト配列を連結する

分類Dev

文字列をオブジェクトの配列と比較する

分類Dev

オブジェクト内のJavaScript配列を連結する方法

分類Dev

+演算子を使用して連結するときに作成される文字列の新しいオブジェクトはどこにありますか

分類Dev

配列オブジェクトと文字列を連結してJavascriptで文字列を取得するにはどうすればよいですか?

分類Dev

2つのJavaScriptオブジェクトをJavaScriptと連結する方法

分類Dev

オブジェクトを辞書のキー値または連結文字列として使用する必要があります

分類Dev

文字列を連結した後に[オブジェクトオブジェクト]を返すjQuery関数

分類Dev

KeyCodeオブジェクトをPythonの文字列と比較する

分類Dev

2つのJSONオブジェクトを連結する

分類Dev

postgresqljson配列内のオブジェクトの文字列値を連結します

分類Dev

文字列連結でDjango F()オブジェクトを使用できますか?

分類Dev

Pythonでjsonオブジェクトから連結文字列を作成します

分類Dev

文字列オブジェクトを分割してから連結して配列に追加する方法

分類Dev

オブジェクトから結合文字列を作成する

分類Dev

Java文字列オブジェクトのサイズを計測すると不正な結果が得られる

分類Dev

オブジェクトのAnsibleリストを連結されたオブジェクト値の単一の文字列に減らします

Related 関連記事

  1. 1

    Thymeachでth:eachのオブジェクトの文字列を連結する

  2. 2

    PHP匿名オブジェクトの文字列を連結する奇妙な動作

  3. 3

    Javascript:オブジェクトキーとの一致を妨げる連結文字列の余分な文字

  4. 4

    文字列を配列の各オブジェクトに連結します

  5. 5

    2つのオブジェクトを文字列連結するための式ツリーを作成する

  6. 6

    Javascript:文字列をオブジェクトに連結する方法は?

  7. 7

    ARMテンプレートのオブジェクトと文字列を連結します

  8. 8

    null文字列オブジェクトと文字列リテラルの連結

  9. 9

    文字列オブジェクトのリストを連結する最良の方法?

  10. 10

    javascriptでオブジェクト内のサブオブジェクト配列を連結する方法は?

  11. 11

    オブジェクトの配列に配列を連結する

  12. 12

    さまざまなタイプのオブジェクトを文字列に連結する(Python)

  13. 13

    JavaScript:オブジェクト配列を連結する

  14. 14

    文字列をオブジェクトの配列と比較する

  15. 15

    オブジェクト内のJavaScript配列を連結する方法

  16. 16

    +演算子を使用して連結するときに作成される文字列の新しいオブジェクトはどこにありますか

  17. 17

    配列オブジェクトと文字列を連結してJavascriptで文字列を取得するにはどうすればよいですか?

  18. 18

    2つのJavaScriptオブジェクトをJavaScriptと連結する方法

  19. 19

    オブジェクトを辞書のキー値または連結文字列として使用する必要があります

  20. 20

    文字列を連結した後に[オブジェクトオブジェクト]を返すjQuery関数

  21. 21

    KeyCodeオブジェクトをPythonの文字列と比較する

  22. 22

    2つのJSONオブジェクトを連結する

  23. 23

    postgresqljson配列内のオブジェクトの文字列値を連結します

  24. 24

    文字列連結でDjango F()オブジェクトを使用できますか?

  25. 25

    Pythonでjsonオブジェクトから連結文字列を作成します

  26. 26

    文字列オブジェクトを分割してから連結して配列に追加する方法

  27. 27

    オブジェクトから結合文字列を作成する

  28. 28

    Java文字列オブジェクトのサイズを計測すると不正な結果が得られる

  29. 29

    オブジェクトのAnsibleリストを連結されたオブジェクト値の単一の文字列に減らします

ホットタグ

アーカイブ