問題タブ [internal]
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.
dynamic - 動的属性を内部コンストラクターに渡す
C# 4.0b で動的引数を使用して内部コンストラクターを呼び出すと、次の例外が発生します。
System.ArgumentNullException: 値を null にすることはできません。パラメータ名:コンストラクタ
サンプルコード (Jon Skeet に感謝)
ランタイムは、正しいものを選択しようとしているときに、内部コンストラクターを考慮していないようです。これはバグのようですので、Connect に投稿しました: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=472924
新しいバージョンで修正されたようです。
intranet - 内部システム開発をどのように処理しますか?
私たちは定期的に高品質のイントラネットとシステムを持つことの価値をクライアントに納得させていますが、私の組織内では「私たち自身のドッグフーディング」を食べているようには見えません。
イントラネットシステムは非常に貧弱です。誰も実際に監視していないSharePointのインストールを急いでまとめました。フレームにロードすることでSharePointに「引き込まれた」追加の石畳のレガシーイントラネットシステム。
一般的なアプローチは、上級開発者は内部開発に浪費するには「価値が高すぎる」ため、これらのシステムの責任は、少なくとも彼らがより儲かる仕事を見つけて出荷されるまで、資格のない人や実務経験者などに委ねられます。クライアントにオフ。したがって、私たちのシステムの石畳の性質。
これは、整備士が粗末な車を運転している場合です。
では、どのように処理しますか?どうすれば経営陣に社内システムに労力を費やすよう説得できますか?
それとも、実際には、テクノロジー企業内でそれだけの価値がないということですか?高品質のシステムは、技術者以外のユーザーにのみ必要ですか?
c# - 内部インターフェイスのメンバーを実装するにはどうすればよいですか
私は現在取り組んでいるプロジェクトのコードベースをリファクタリングしており、アセンブリの範囲を超えて役に立たないクラス/インターフェイスを(パブリックではなく)内部として宣言する必要があります。しかし、次のコードで問題が発生しました。
私の質問:
内部インターフェイスのメンバーを公に実装する必要があるのはなぜですか?内部クラスにインターフェースを実装する場合、実装されたメンバーは内部にあるべきではありませんか?クラスが内部であるため、インターフェイスメンバーはとにかくパブリックにアクセスできないため、これは大きな問題ではありません。直感に反しているようです。
主な問題は上記のシナリオにあります。これは、IFirstInterfaceが内部インターフェイスであるとされているため、パブリックゲッターを使用できないためです。つまり、コンパイラから次のエラーが発生します。
一貫性のないアクセシビリティ:プロパティタイプ「IFirstInterface」は、プロパティ「Implementer.First」よりもアクセスしにくいです。
これを回避する方法はありますか?
注:このリファクタリングの演習にはおそらくほとんど価値がないことを認識していますが、内部修飾子の意味をより深く理解するための良い方法だと思いました。
java - Jar ファイルを実行するときに、Jar があるフォルダにいない限り、Jar 内のファイルにアクセスできないのはなぜですか?
最近アプリケーションを作成し、これを c:/my/folder/app.jar に正常にジャーリングしました。次のケース [スタートアップ #1] では魅力的に機能します。
- コマンドを開く
- cd to c:/my/folder
- java -jar app.jar
しかし、これを行うと、機能しません [スタートアップ #2]:
- コマンドを開く
- cd から c:/my/
- java -jar フォルダー/app.jar
app.jar には、アプリケーションで実行しようとする .exe ファイルが含まれているため:
final Process p = Runtime.getRuntime().exec("rybka.exe");
ファイル rybka.exe が見つからないため、例 2 では機能しません。
助言がありますか?
c# - Reflection を使用して内部クラスにアクセスする方法
アセンブリの内部クラスにアクセスするにはどうすればよいですか? System.ComponentModel.Design.DesignerHost にアクセスしたいとします。ここで、DesignerHost は内部のシール クラスです。
アセンブリと型をロードするコードを作成するにはどうすればよいですか?
c# - InternalsVisibleTo により CS0246 エラーが発生します: タイプまたは名前空間が見つかりませんでした
追加することにより、あるアセンブリが別のアセンブリの内部クラスにアクセスできるようにしようとしています
二次会へ。ただし、これにより次のエラーが発生します。
ここの例に従っています: MSDN リファレンス
私は何を間違っていますか?
c# - 友達/内部を排除するのに役立ちます
「友達/内部が必要な場合はデザインが間違っている」などとよく言われますが、ChessPiece.Locationの内部を削除するために次のコードを再設計する方法を教えてもらえますか?
これは現在、ChessBoardにピースを追加すると、ChessPiece.Locationプロパティが一致するように設定されるように使用されています。明らかに、パブリックにすることは内部よりも悪く、プライベートにすることでChessBoardがロケーションを更新できなくなります。洞察をありがとう。
java - サーブレット(またはフィルター)からのTomcat内部へのアクセス
サーブレット(またはフィルター)からTomcat内部データにアクセスしたいと思います。特に、スレッドプールマネージャーからビジースレッドに関する情報を読みたいと思います。それで、私の質問は、それが可能かどうかです(安全上の理由でブロックされる可能性があると想像できます)?可能であれば、誰かがどこから始めればよいかアドバイスをくれるかもしれません(エントリポイントのシングルトンなど)。
私は、JMXを介してこの情報を取得できることを知っています。しかし、私はむしろ直接APIを好みます(JMXはおそらくかなり重いので、そうではありませんか?)。
c# - 「Internal」または「Static」を使用しないC#クラスの設計?
クラスでインスタンス化したいデータがたくさんあり、変数ごとに特定のメソッドのセットも定義されていることを確認したいと考えています。いいえ:
多数の変数 (したがってさらに多くの関数) が存在するため、ソース コードを管理しやすいチャンクに分割したいと考えています。したがって、各変数のすべての関数がインスタンス化されることを保証する自動方法を探しています。
私は自分のコードを整理するための 3 つの可能な方法を思いつきましたが、それぞれにあまり満足していません。どの方法が優れているかを調べたり、アドバイスしたりしています (または、完全に異なる実装方法を見逃していたとしても):
1. 部分授業
長所:
- 単純
- 変数には、クラス Base 内からのみアクセスできます。
- 同じ型の変数が 2 つある場合、各変数の関数は独自の関数を異なる方法で実装できます。
短所:
- 変数ごとにすべての関数が作成されることを自動的に保証できない
- 各関数名の間に名前の衝突がないことを手動で確認する必要があります。
短所は、ある種のコード ジェネレーターによって解決される可能性があることに注意してください (T4 を学習する時間でしょうか??)。
2.内部クラス
長所:
- クラス階層により、すべての関数が作成され、変数にアクセスできるようになります。
- 仮想関数を使用することで、関数のインスタンス固有の実装を作成できます
短所:
- Internalを使用すると、アセンブリ内のあらゆる場所でデータが表示されます。
3. 静的データ
長所:
- システムは、すべてのルーチンがインスタンス化されることを保証します
- アセンブリ全体でデータがブラストされない
- 各関数内で、「部分クラス」ソリューションに従って他の変数を直接参照できます
短所:
- 静的な匂いの使用は、グローバル データを再発明したようなものです。
私が望むのは、どういうわけか各方法の最良の点をチェリーピックすることです:
- 「部分クラス」および「静的」メソッドの変数に直接アクセスする方法
- 「部分クラス」メソッドのローカルデータ
- 「Internal」および「Static」メソッドの関数実装の自動実施。
そして、私は避けたい:
- 「部分クラス」での関数生成の強制の欠如
- 「内部」方式でのデータのグローバル アクセス
- 「静的」メソッドにおけるグローバル データの再発明
もし私がドラザーを持っているなら、私が望むのは、変数のインスタンスに何らかの形でインターフェースを適用することだと言います-のように:
そして、どういうわけか、インターフェイス名と使用可能な名前から最終的な関数名をコンパイラに自動生成させます。
3 つの方法のうちどれを実装したいか、または適切な他の方法を提案することもできます。
command-line - コンパイラ エラー - コマンド ラインからコンパイルする場合のみ
エラー CS0583: 内部コンパイラ エラー (アドレス 7C812AFB の 0xc0000017): 原因はおそらく 'IMPORT' です。コンパイラで内部エラーが発生しました。この問題を回避するには、以下に示す場所の近くでプログラムを単純化または変更してみてください。リストの上部にある場所は、内部エラーが発生したポイントに近い場所です。このようなエラーは、/errorreport オプションを使用して Microsoft に報告できます。c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll: エラー CS0586: 内部コンパイラ エラー: ステージ 'インポート' エラー CS0587: 内部コンパイラ エラー: ステージ 'インポート' エラー CS0587: 内部コンパイラ エラー: ステージ ' PARSE' エラー CS0587: 内部コンパイラ エラー: ステージ 'BEGIN'
私たちのコードは、VS2005 UI でコンパイルするときにエラーを生成しません。
この問題の原因は何ですか?