C#, C♯, C#相談室 Part93©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 多分ASP.NETを使ってGUIのWebSocketクライアントを作る予定です
ありがとうございます MacでWebSocket??????
ちょっと何言ってるかわかんないですね 下みたいなことって出来ます?
やりたいのは object 型の変数に代入したジェネリック系のインスタンスを、さらに元のジェネリックの型にキャストし直すってことなんですが。
void func( object dic )
{
var tmp = (Dictionary)dic; // ← これみたいなことをやる方法がないかなと
tmp.Add( "test", new object() );
}
var dic = new Dictionary< string, object >();
func( dic ); >>698
言葉が足りてなかった。申し訳ない。
例示のケースの場合は、
var tmp = (Dictionary<string,object>)dic;
と指定すれば出来るのだけど、Dictionary だけでキャストし直すみたいなコトできないかなって。
as でも Dictionary だけではキャストできないことは確認しました。 出来たとして何の意味があるのそれw
そもそもHoge<int>より大きなHoge<T>とかHogeって型が存在するわけじゃないでしょうw
根本的に勘違いしてないか genericsでないDictionaryは存在しないからでしょ。
genericsパッケージでないほうのHashtableならできると思うけど安全性を損ねるしやらんほうがいいんじゃね IDictionaryならあるよ
キャスト時にいちいち型引数を書くのが面倒ぐらいの意味しかないけど >>700
を読み直してみると、ひょっとして要するにジェネリックの型パラメータを書くのが面倒臭いから
省略できないか?、って言いたいのかな
それなら答えは「できないけど仮に出来たとしても絶対やるな」じゃないの?
もちろん、
using Dictionary = System.Collections.Generic.Dictionary<string, object>;
こういうエイリアスは書けるはずだと思うけど
何にしろ、質問は他人が読んで分かるように書いて欲しいよね 型安全性を無視していいならdynamic使え
そうじゃないなら出来てもやるな
つかジェネリックを勘違いしてるんじゃね それによって何がしたいのかを書いてくれないと何言ってるかわからんよな ありがと。
やっぱり dynamic 使うしかないかな。避けたかったのだけど。
なにが入ってるか分からない配列の中身を文字列化してログ出力したかったの。(最初は)
object[] の要素の中身が generic だったりしたときに ToString() だとクラス名?にしかならないから。 なんで何が入ってるかわからない配列なんてもんを触るんだ
静的型付け言語のメリット台無しやんけ 何が入っているかわからないものを扱いたいと言っていながら一方でdynamicは避けたいというのが
よくわからんなぁ。避けてどうしたかったんだろうか。 でもJSも実行時に型を判断できるし、逆の意味で大して変わらんと思う。 あれ? dynamic って推奨だったの?
おまえらがどういう場面で使ってるのか教えてくれ。 デシリアライズでもするつもりだったんじゃねの
クッソ面倒なんだよな実際 ん?
> なにが入ってるか分からない配列の中身を文字列化してログ出力したかったの。(最初は)
じゃねーの? もういいでしょw
たぶん何か勘違いしてるだけだと思うよ
俺もプログラミング初めて2,3年は静的/動的とかコンパイル時/実行時の違いとか
分かってるようでよく分かってなかった 結局なにがしたいのか伝わってこない上に
微妙にムカつく上から目線 そろそろ.NET標準でDDSのデコードできるようになってくれないかな
エクスプローラーでは普通に表示されるんだから
できればBC6と7までw >>694
あれ、C#って、マルチプラットフォームじゃなかったの?
Java は、Windows, Mac, Linux, iOS, Android, Chrome, Firefox, IE, どれでも
動いたよね、昔は。 Javaもクライアントアプリ分野から撤退したから今はクロスプラットフォーム度でいえばC#のほうが上なくらい(あくまでカタログスペック上は)
C#はWebかコンソールアプリなら.NET Core使えばLinuxやMacで動く
スマホやMac向けのGUIアプリならXamarinだな 普及度とかマルチプラットフォームとかどうでもいいけど
Windows使っていて個人的に何かちょっと作ろうと思ったときに、もうC#以外考えられない体になってしまった おれはpythonかなー
スクリプト言語はほんま楽やで
客先でインスト制限きつい時はC#とPowerShell
Microsoftさんは早くVSCodeとdotnet cliをWindows標準にしてPowerShellを強制アプデすべき >>727
個人で使ったけど、これを社内外で使わせるにはMVVMきっちり教えないと破綻確実だから諦めた >>726
確かに楽だな。 < python
Web API を叩くプログラムをこれで書いたけど、学習まで含めてすぐ出来た。w
VS 上でも書けるのが楽さに拍車を掛けてる。
>>727
うん。でも最近はやってないな。そーいえば。 >>727
使ってる。
チームとして採用するのは難しいかもね。 そうです。
XAMLとか慣れるまで大変だし、やっぱり簡単なFORMになるんじゃないかな。 レイアウトはFormよりWPFの方が楽だと思うんだけどな
Formばかりやってたチームだと学習コストが高くて難しいのはある XAMLはVS補佐がまだまだ足りない
昔の落ちまくりよりは格段に進歩はしたが formは過去の遺産だから、これからやるならWPFが正統だ。 >>735
Blendを使ってください、ってことなんだろうけどなぁ WPF自体は終わってるよね
次の本命が無いから使うしか無いだけで MSのイチオシはUWPだしコントロールは充実しているんだけどね
TreeViewは完成したし、後はDataGridの完成を待つだけだ 最近のMSはだいたい未完成
ちょうどGithubもやらかしたし、Azureのサービスなんかガチで世に出しちゃいけないレベルのものが大半 未完成の物をとりあえず出して、
バージョンアップで完成させてくのが昔からのビジネスモデルやろw >>747
どういうこともクソもWPFは5年くらい前にとっくに開発終了してメンテナンスモードだよ >>748
ソースは?
.NET Core3.0知らないの? >>749
ソースは.NET 4.5以降のリリースノートだよ
何か気になる新機能はありましたか? >>750
で、「終わってる」だなんてMicrosoftはリリースノートに書いてるのかい?
しかも.NET Coreは都合が悪いから無視ときたもんだ… Core3.0まで出てるんだ
なんか使いやすくなった? WPFが終わってるならFormは死んでる。
しかし、ゾンビ技術者がウヨウヨいるから需要はあるのかも。 >>751
CoreのWPF対応ってWPFをCore向けにビルドしてNuGetで入れられるようにするだけだぞ?
WPF自体の新機能ではないよ >>754
必死に調べて理解したのはそれだけ?
「終わっている」プロジェクトに対してそんなことしないだろ 平日に役に立たない言い争いしている奴らが終わってる WPFの機能追加は終わってる
なら正しいかもしれない >>752
せっかく切ったWPFとFormアプリ復活・・・ 業務系ならありがたいね
ランタイム依存なしでForms使えるんだろ
ブラウザ要らないじゃん >>759
デプロイどうすんの?アップデートの度に君が出向いて客のPCでZip解凍して回るの?
それが面倒だからWebなのに、それが.NET Coreになったところで何も解決しないよ
というかClick Onceが無くなる分だけ状況は悪くなるな >>760
>Click Onceが無くなる
ソース出してみ >>762
悪魔の証明を求められても困る
.NET CoreでClick Onceが使えるソースを出すのは君の仕事だ
当たり前だけど、FullFWのClick Onceを使うという本末転倒な方法は無しで頼むぞ >>763
断定してたからそんなアナウンスもうされたのかと思ったのに…思い込みが激しいと周りが苦労するね WPFが.net coreに対応したといってもlinaxで動くわけではないんだよね?
じゃあなんの意味があるの? 同じプログラムを2台のPCで動かしたら、スペックのいい方が断トツ実行速度が遅いんだけど、何かチューニングするとこある? 特に怪しいものなんか動いてないと思うんだけどなぁ
アンチウイルスの保護停止しても変わらない
こんなときに効果的なログの張り方ってある?
一部がネックなのではなく、もう全部が緩慢な感じ 例えばウィンドウズサーチとか重たいよね
リソース逼迫してないなら
ディスクI/OやネットワークI/Oや
ネットワーク構成が違うとかかね
全体的に緩慢となるとなあ
ヒント欲しいならもっと情報ださないとダメよ タスクマネージャーあけてぼーっと眺めておくとひょっとしたらと。
で、スペックはどんなもんなの? debugとreleaseてそんなに違うの?おれのfizzbuzz100までどっちも一瞬だったよ スレチかもしれんけど、まだサポートしてないバージョンのアセンブリで定義されてるクラスをリフレクションでもいいから使う方法ってないかな。
具体的にはフレームワークのバージョンが2.0しか許可されない職場でxdocumentを使う方法…
dllを隣に持ってきて参照しても、型自体を認識してくれない >>784
100万データ処理してから物言いなさい 64bitアプリから32bitアプリへ効率よく通信したいのですが、良い方法ありますか?
今はPostMessageを考えてますが型が合ってないので違う方法を探してます。 UWPだとreleaseとdebugでちがいそうだけど。デフォルトだとreleaseは.net nativeでコンパイル。debugは違う >>788
TCP使えば?
直接叩くのが嫌ならgRPCとか使えばいい
WCFや.NET Remotingという手もあるけど、どちらもレガシー扱いで.NET Coreからは廃止されたから新規に使うのはお勧めしないな Core世代のWCFや.NET Remotingの代替って何があるんだろ 普通にRESTか、クラウドプラットフォームが提供するメッセージキュー(SQSとか)などの外部サービスだよ
余計な囲い込みを廃して今時のWebシステムの構成要素として組み入れやすくするというのがCoreなんだから、今更.NET固有のRPCなんか要らん ■ このスレッドは過去ログ倉庫に格納されています