問題タブ [implicit-conversion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 暗黙的な変換と null に関する問題
私はこの機能を持っています
var.myclass = null; と記述します。これは暗黙の演算子を呼び出し、null を文字列として渡すため、コードに大混乱が生じます (私はリフレクションを使用しており、特別なケースを追加したくありません)。暗黙の演算子を発生させずに myclass = null と書くにはどうすればよいですか?
書いてみた
しかし、それはスタックオーバーフローを引き起こします
c# - IsAssignableFrom の暗黙のバージョン?
私が書いたリフレクションを使用する私のコードで
文字列への暗黙的な変換を持つクラスがあります。ただし、上記のifステートメントはそれをキャッチしません。リフレクション/上記の if ステートメントを暗黙的な文字列変換で文字列とクラスをキャッチするにはどうすればよいですか? 特に文字列と私が知っている各クラスの代わりに?
c# - C#で動的な暗黙の型キャストを行う方法はありますか?
暗黙のキャスト演算子を使用してこのクラスを指定すると、次のようになります。
次のことができるようになりました。
ただし、次のことはできません。
これにより、コンパイル時間が得られます。
タイプ 'object' を 'MyDateTime' に暗黙的に変換することはできません。
私には理にかなっています。
ここで、前の例を次のように変更します。
これはうまくコンパイルされます。今、私はランタイムを取得しますInvalidCastException
:
'System.Int64' 型のオブジェクトを MyDateTime 型にキャストできません。
これは、C# の暗黙的なキャスト演算子がコンパイル時にのみ適用され、.NET ランタイムがオブジェクトを別の型に動的にキャストしようとしているときには適用されないことを示しています。
私の質問:
- 私は正しいですか?
- これを行う他の方法はありますか?
ところで、完全なアプリケーションはDelegate.DynamicInvoke()
、パラメーターを受け取る関数を呼び出すために使用しているMyDateTime
もので、渡す引数の型はDynamicInvoke
long です。
c# - 暗黙的な変換での文字列定数の使用
次のコードを検討してください。
しかし、可能であれば、次のことができるようにしたいと考えています。
TextType の暗黙的な演算子のオーバーロードを使用して String クラスを拡張することはできませんが、リテラル文字列を別のクラス (メソッドまたは何かによって処理される) に割り当てる方法はありますか?
文字列は参照型であるため、C# を開発したとき、クラスに文字列リテラルを取得するために何らかの方法を使用する必要があったことは明らかです。言語にハードコーディングされていないことを願っています。
c++ - operator delete での暗黙のキャストの停止
私の String クラスは、演算子 char* オーバーロードを提供して、文字列を C 関数に渡すことができるようにします。
残念ながら、私の同僚がうっかりバグを発見してしまいました。
彼は効果的に次のコードを持っていました。
このような将来のバグが発生するのを防ぐために、delete が文字列オブジェクトを char* にキャストするのを防ぐ方法はありますか? std::string
は、char 演算子のオーバーロードを提供しないことでこの問題を回避しますが、理想的には、オーバーロードを保持したまま、その削除が機能しないようにしたいと考えています。
c++ - 暗黙の変換
私のプログラムは: -
エラーメッセージの意味を説明できる人はいますか?
c# - 条件演算子は暗黙的にキャストできませんか?
私はこの小さなC#の癖に少し困惑しています:
与えられた変数:
以下をコンパイルします。
しかし、これはしません:
エラーは次のように述べています:「タイプ'int'を'byte'に暗黙的に変換することはできません。」
そしてもちろん、この怪物はコンパイルされます:
何が起きてる?
編集:
VS2008、C#3.5を使用
.net - タイプAが暗黙的にタイプBに変換可能かどうかを判断する方法
タイプaとタイプbが与えられた場合、実行時に、aからbへの暗黙の変換があるかどうかをどのように判断できますか?
それが意味をなさない場合は、次の方法を検討してください。
そして、これが私が働きたい呼び出しコードです:
java - なぜ 1 文字 + 別の 1 文字 = 変な数字なのか
コード スニペットは次のとおりです。
出力は次のとおりです。
これはなぜですか?、、または の'a' + 'b'
いずれかになると思います。"ab"
"12"
3
何が起きてる?
java - scala 2.8暗黙のJavaコレクション変換
2.8 ベータ版の JavaConversions に問題があります。
そして例外: