問題タブ [strong-typing]
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# - これはジェネリックを使用して可能ですか?c#
カスタムクラスを作成するだけで次の問題を解決できることはわかっていますが、以下をList
(または他のタイプ)として強く型付けすることはできますか?
上記のコードのオブジェクトタイプは単なる例です。
それは一日の終わりであり、私の脳は少し柔らかくなっています。
編集:タプル?
objective-c - メソッドをオーバーライドするときの厳密な型付けと緩い型付け
「ObjectiveCでのプログラミング」の例からAddressCardというクラスがあり、isEqual:メソッドを実装しています。
NSObjectのこのメソッドのシグネチャは、パラメータに緩い型を使用します。
OTOH、本のサンプルコードは厳密な型付けを使用しています。
この場合、コンパイラが何をするのか完全には理解できません。[aCard isEqual: @"Foo"]
ランタイムエラー(システムが私のメソッドを使用している場合)またはシステムがNSObjectのバージョンのIsEqualを呼び出すことを期待して、AddressCardをNSString()と比較してみました。
代わりに、私のメソッドが呼び出され(パラメーターがアドレスカードではなくNSStringであったとしても)、IsEqual:がAddressCardに固有のメソッドを呼び出そうとしたときに例外が発生しました。
どうしたの?NSStringは、他の何かを期待するメソッドにどのように渡されますか?メソッドをオーバーライドするときに、メソッドのシグネチャを変更しても大丈夫ですか?
vb.net - 強く型付けされたジェネリックメソッドは、Tのシャドウメソッドではなく、引数の基本クラスメソッドを呼び出しますか?
MyForm
のシャドウ実装を含むクラスについて考えてみShow()
ます。CreateForm()
また、フォームのインスタンスを受け入れ、シャドウされたサブを呼び出すメソッドも含まれています。
で呼び出されるとCreateForm(New MyForm())
、のシャドウ実装Show()
が正しく呼び出されます。ここで、次の一般的な実装について考えてみます。
で呼び出されるとCreateForm(Of MyForm)(New MyForm())
、この強く型付けされたジェネリックメソッドはシャドウメソッドを呼び出すことはありません。
これはバグですか、それとも何かが足りませんか?
strong-typing - 密結合が悪いのに、強く型付けされたのが良いのはなぜですか?
疎結合コードの実際の利点を理解するのに苦労しています。他のさまざまなオブジェクトと連携できる柔軟なものを作成するために、なぜこれほど多くの労力を費やすのでしょうか? 何を達成する必要があるかがわかっている場合は、その目的のために特別にコーディングしてみませんか?
私にとって、これは型指定されていない変数を作成することに似ています。非常に柔軟になりますが、予期しない値が渡される可能性があるため、問題が発生する可能性があります。また、何が渡されているかを明示的に知らないため、読みにくくなります。 .
それでも、強く型付けすることは奨励されているように感じますが、疎結合は悪いです。
編集:疎結合の私の解釈がずれているか、他の人が間違った方法で読んでいると感じています。私にとっての強い結合は、クラスが別のクラスの具体的なインスタンスを参照するときです。疎結合とは、別のクラスが実装できるインターフェイスをクラスが参照する場合です。
私の質問は、クラスの具体的なインスタンス/定義を具体的に呼び出さないのはなぜですか? これは、必要な変数の型を具体的に定義することに例えられます。私は依存性注入についていくつか読んでいますが、疎結合がより良い設計であることを事実として理解しているようです。
flash - 値の配列でベクトルを初期化するにはどうすればよいですか?
値の配列でベクトルを初期化するにはどうすればよいですか?
これを試してみましたが、正常に準拠していますが、機能しません。
また、次のように、任意の配列をベクトルにロードする必要があります。
これを行う方法はありますか?
編集:値の2D配列で2Dベクトルを初期化するにはどうすればよいですか?
私はこれを試しましたが、エラーが発生します:
TypeError:エラー#1034:型強制が失敗しました
c# - ショッピング カートのセッション状態は ASP.NET MVC で正しく処理されます
ASP.NET MVC で認証されていないユーザー用の単純なセッション カートを実装していますが、正しく実行したいと考えています。
以前は、カート ID を常に永続Session["CartID"]
ストアに Cookie として保存していました。Carts
カートを表示する必要があるときはいつでも、 my テーブルとテーブルからユーザーのカート項目を検索しますCartItems
。しかし、内部では、より強く型付けされたアプローチがよりクリーンになることを知っています。
最新のセッション MVC についてグーグルで検索した後、HttpSessionStateWrapper
セッションを処理するためのテスト可能な方法のように思われる という用語を見つけました。しかし、良いチュートリアルや標準化された実装は見つかりませんでした。多分それは単なる流行語であり、私は固執する必要がありますSession["..."]
.
ASP.NET MVC の最新バージョンでセッションを使用してショッピング カートを実装する正しい方法は何ですか?
c# - 強く型付けされたプロパティ宣言-このコードは安全ですか?
次のコードは「安全」かどうか疑問に思います。「安全」とは、特定のコンパイラバージョンや文書化されていない機能に依存しないことを意味します。プロパティ/フィールド名の文字列を取得したいのですが、強い型付けを使用して宣言したいです(特定のフィールド/プロパティが存在するかどうかをコンパイラに確認させたい)。私の方法は次のようになります。
そして、これが私がそれをどのように使いたいかです:
助けてくれてありがとう。
.net - 継承された型へのJSONデシリアライズ
データベースにさまざまな設定を保存するデータテーブルがあります。それらはあらゆるタイプ(複雑なオブジェクトグラフでも)であるため、それらの値をシリアル化されたJSON文字列として保存することにしました。
をシリアル化したとしましょうList<ItemBase>
。シリアル化された文字列は問題なく表示されます。しかし、問題は、リストアイテムが継承されるさまざまなタイプであるということですItemBase
(これは、私が気にかけていることに対して抽象的である可能性もあります)。
質問
オブジェクトインスタンスを修正するためにJSON文字列が正しく逆シリアル化されるように、どの(逆)シリアル化クラス/ライブラリを使用する必要がありますか。
asp.net-mvc-2 - ASP.NET MVC 動的リスト バインド
順不同のリストをオブジェクトのリストにバインドしない、厳密に型指定された mvc ページがあります。したがって、mvcビューでは次のようになります
私のビューモデルは次のようになります
私のリストには次のようなオブジェクトが含まれています
これは、WhatYouDoL[0].Reference をインデックス ([0]) で使用する場合、問題なくバインドされます。ロード時にインデックスで設定できます。問題は、クライアント側でこのリストに追加および削除したいことです。したがって、追加のリスト項目を追加して現在の項目を削除するjsがいくつかあるかもしれません。これは、名前のインデックスを何らかの方法で管理し、それらを順番に保ち、クライアント側で重複しないようにする必要があることを意味します。名前にインデックスを使用して回避する方法があるかどうかは誰にもわかりません。
前もって感謝します。
types - 「弱いタイピング」を使用する言語の利点
プログラミング言語が強い型付けよりも弱い型付けを使用したいのはなぜですか?