問題タブ [attributes]
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# - ASP.NET UserControl と DefaultEvent
概要
わかりました、私はこれをGoogleにしましたが、すでに大きな脂肪NOを期待しています!! しかし、人々の頭の中に奇妙な小さな知識の宝石が潜んでいることが時々あることを知っているので、私は尋ねるべきだと思いました^_^
私は研究用の本でいくつかの演習に取り組んでいます。この特定の演習はユーザー コントロールです。コントロールをまとめて DefaultEvent を設定したい (以前のコントロールでこれを行った) ため、ダブルクリックすると、作成されるデフォルト イベントは指定したものになります。
注:これは標準のユーザー コントロール (.ascx) であり、レンダリングされたカスタム コントロールではありません。
現在のコード
クラスとイベントの定義は次のとおりです。
現在の結果
ここで、コントロールが ASPX ページ上にあるときにコントロールをダブルクリックすると、次のものが作成されます。
私が期待していたものではありません!だから、私の質問:
UserControl の DefaultEvent を定義することは可能ですか? ハックですか?サポートされていない場合、理由はありますか?
補足: コードにアンダースコアを挿入するにはどうすればよいですか? char を入れてエスケープできないようですか?
.net - ファイル バージョンとアセンブリ バージョンの最適な使用方法
.NET では、プロジェクトのビルド時に、ファイル バージョンとアセンブリ バージョンの 2 つのバージョン番号を使用できます。これらの数字をどのように使用していますか? それらを同じに保ちますか?一方を自動インクリメントし、もう一方を手動で変更しますか?
また、AssemblyInformationalVersion
属性はどうですか?
私は、このサポート Microsoft Knowledge Base (KB) の記事を見つけて、いくつかのヘルプを提供しました: How to use Assembly Version and Assembly File Version。
c# - 列挙値のカスタム属性にアクセスする簡単な方法を知っている人はいますか?
これは、おそらく例で最もよく示されています。私は属性を持つ列挙型を持っています:
インスタンスからこれらの属性を取得したい:
これはリフレクションを使用しているため、多少の遅延が予想されますが、列挙値のインスタンスが既にある場合に、列挙値を文字列 (名前を反映する) に変換するのは面倒です。
誰かがより良い方法を持っていますか?
.net - 「使用しない」メソッドを開発者に通知する
OK、あなたが考えていることはわかります。「なぜ人々に使われたくないメソッドを書くのですか? 右?
要するに、XML にシリアル化する必要があるクラスがあります。がその魔法を実行するXmlSerializer
には、クラスにデフォルトの空のコンストラクターが必要です。
それで、私はそれを持っている必要がありますが、私は人々にそれを使用させたくないので、メソッドを「使用しない」とマークするために使用できる属性はありますか?
Obsolete属性を使用することを考えていました(これによりビルドが停止する可能性があるため) が、それはちょっと「間違っている」ように思えます。これを行う他の方法はありますか? :)
アップデート
OK、Keith の回答を受け入れました。私の心の中では完全に同意すると思います。これが、私が最初に質問した理由です。Obsolete属性を持つという概念は好きではありません。
でも...
まだ問題があります。インテリセンスで通知されている間、理想的にはビルドを中断したいので、これを行う方法はありますか? おそらくカスタム属性を作成しますか?
より焦点を絞った質問がここに作成されました。
.net - ビルドを解除するための属性を作成する
OK、この種は私の前の質問に続くものです。
私が本当にやりたいのは、ビルドを壊すメソッドを装飾できるような属性を作成することです。Obsolete( "reason"、true)属性によく似ていますが、廃止されたコードを誤って識別しません。
明確にするために:F6(ビルド)プレスでビルドを中断したくないので、属性で装飾されたメソッドがコード内の別の場所で呼び出された場合にのみビルドを中断したいと思います。私が言ったように、時代遅れに似ていますが、同じではありません。
他のユーザーが他の理由でそれを使用したいので、私はこれで一人ではないことを知っています。これまでカスタム属性を作成したことがないので、まったく新しいものです。
c# - 属性を使用して列挙型から列挙型へのマッピングと列挙型/定数からアクション スイッチ ステートメントを削減する
誰もが次のようなコードを見たことがあると思います。
この悪さの代わりに、次のようなことができます。
これで、リフレクションを使用して ServerEnum をリッピングし、enum 宣言自体から変換マッピングを取得できます。
ここで私が抱えている問題は、Enum2Enum 属性の宣言にあります。
これは機能しますが、オブジェクト o を Enum e に置き換えると機能しません。オブジェクトをコンストラクターに渡すことができるようにしたくありません。他の列挙型のみです。
これはコンパイルに失敗します。
コンパイルエラーの原因はありますか? 他に、マップに必要な情報を他にどのように渡すことができますか:
これは冗長すぎるように思えますが、それが唯一の方法である場合は、それを使用すると思います。
c# - C#でフラグを比較する方法は?
以下にフラグ列挙型があります。
if ステートメントを true に評価することはできません。
どうすればこれを実現できますか?
c# - 実行時に属性のパラメーターを変更する
ランタイム中に属性のパラメーターを変更できるかどうかわかりません。たとえば、アセンブリ内に次のクラスがあります
これはサード パーティ ベンダーによって提供されるクラスであり、コードを変更することはできません。しかし、上記の説明は正確ではないことがわかりました。上記のクラスのインスタンスをプロパティ グリッドにバインドするときに、"change me" カテゴリ名を別の名前に変更したいと考えています。
これを行う方法を教えてください。
python - オブジェクトのフィールドからの Python 辞書
任意のオブジェクトから辞書を作成する組み込み関数があるかどうか知っていますか? 私はこのようなことをしたいと思います:
注:メソッドを含めないでください。フィールドのみ。
.net - アセンブリ属性を使用するためのベスト プラクティスは何ですか?
複数のプロジェクトを使用したソリューションがあります。1 つのソリューション全体のアセンブリ情報ファイルをリンクして、AssemblyInfo.cs ファイルを最適化しようとしています。これを行うためのベストプラクティスは何ですか? ソリューション全体のファイルに含める必要がある属性と、プロジェクト/アセンブリ固有の属性はどれですか?
編集: 興味がある場合は、AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersion の違いは何ですか?というフォローアップの質問があります。