- 1 名前:デフォルトの名無しさん [2017/11/07(火) 21:11:25.20 ID:LeQqgpmT0.net]
- 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part132 mevius.5ch.net/test/read.cgi/tech/1507543256/ ■関連スレ C#, C♯, C#相談室 Part95 mevius.5ch.net/test/read.cgi/tech/1508180530/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源https://msdn.microsoft.com/ja-jp/library/gg145045.aspx https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 131 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 03:40:18.24 ID:SMejQ9Z40.net]
- MSの日本語ドキュメントなんて機械翻訳だらけなのにな
- 132 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 04:18:09.89 ID:n0dr1tl2a.net]
- >>127
>>128 下手な文ですみません TimerのElapsedで指定したイベントが発生中は次の処理をせずに、Timer.Enabled=falseになってから次の処理を実行するものだと思っていたんです >>128さんの言うように変換終了判定の場合にプロパティかフラグを立ててそれを監視?するようにしてみます
- 133 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 06:39:56.32 ID:MOg5phwx0.net]
- >>129-130
今の自動翻訳だと結局原文参照にいくことも多々あるんだが... なんのためにカーソル置くと原文表示するようにしてるのかも理解してないのかよ w すごくウザイから設定で表示しないようにして欲しいが
- 134 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 07:05:10.05 ID:m6spCiOt0.net]
- 機械翻訳はありゃいいってものじゃない
また宇宙天啓データベースG2と断続的な絞首刑が発生するぞ
- 135 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 07:20:55.29 ID:cRgWk2Y70.net]
- 最近、プログラミングの腕をそれ以外に求めてる奴が暴れててウザイ
英語ができたからなんだってんだよ くだんねーアプリしか作れないからくだんねーこと気になるんだぞお前
- 136 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 07:49:13.63 ID:e5xLDhIK0.net]
- >>123
>DBと書きましたがcsvやExcelといったものからも取得を考慮していました 世の中には、ODBCと言うものがあって、odbc excel driverとかodbc text driver や他のdbも使える つ ?System.Data.Odbc.OdbcConnection
- 137 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 07:52:10.55 ID:OnRpH+1DM.net]
- >>134
コンプレックス丸出しだな ドカタから出て自社プロダクト系とか行ったらC#でも日本語ドキュメントのないライブラリもバリバリ使うぞ
- 138 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 08:09:08.06 ID:e5xLDhIK0.net]
- >>131
ややこしいことにc#(.net)には4つもタイマークラスがあったりする。 おそらく、System.Timers.TimerのSynchronizingObjectを使えば良いと思うけど 親切な人が解説してくれている。 takachan.hatenablog.com/entry/2017/09/09/225342
- 139 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 08:12:32.88 ID:e5xLDhIK0.net]
- >>136
nugetのライブラリで日本語ドキュメントがある方が稀だからね。
- 140 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 08:31:08.16 ID:RZNIwvSqr.net]
- いわゆるドカタとそれ以外で認識の隔たりがかなりあると思う
- 141 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 08:52:42.69 ID:OnRpH+1DM.net]
- ドカタ系にいたときもわりとアメリカの新しいパッケージや製品を使う仕事してたが
専門卒の委託のメンバー達はITスキルはあるのに英語が読めなくて全然仕事できなくて不憫だったわ 英語ができないと国内でも後追いになっちゃう
- 142 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 09:02:42.68 ID:iF3ntH//0.net]
- スレタイ
- 143 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 09:20:22.95 ID:cRgWk2Y70.net]
- >>136
だからなんだよ テメーみてーな発達障害持ってなきゃ英語なんか読めなくてもマニュアルのいみぐれーわかんだよバーカ 英語読めるからぼくちゃんのプログラミングの腕も確かでチュよ褒めてって? 気持ち悪ぃんだよさっさとくたばれガイジ
- 144 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 09:31:42.36 ID:Y9bMvc7C0.net]
- 共倒れで丸く収まりましたね
- 145 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 09:33:07.24 ID:ArqlQl8r0.net]
- マ板でやれ
- 146 名前:デフォルトの名無しさん [2017/11/12(日) 11:02:16.46 ID:7vMgKcBHd.net]
- >>142
どんだけコンプレックスあるの
- 147 名前:デフォルトの名無しさん [2017/11/12(日) 11:21:03.88 ID:V8vWJYoP0.net]
- マ板並みの見苦しさ
- 148 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 11:27:55.80 ID:/Gc52cuR0.net]
- tercel-tech.hatenablog.com/entry/2015/04/29/181723
こちらの方のコードを参考に電卓の自動化を試みてるのですが、 mainForm = AutomationElement.FromHandle(process.MainWindowHandle); のところでエラーが出ます。 型 'System.InvalidOperationException' のハンドルされていない例外が System.dll で発生しました 追加情報:プロセスは終了しているため、要求された情報は利用できません。 何が原因でしょうか?
- 149 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 11:34:37.51 ID:a3dJlCt1a.net]
- >>147
そのページの同じコード動かしてそうなるのか? メッセージだと電卓が終了してると言ってるけど
- 150 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 11:41:43.01 ID:VwNKZEQ+0.net]
- >>147
電卓("calc")が起動しているか デバッガでprocessがnullになっていないか をそれぞれ確認 全部こっちで確かめるのはめんどうなので例えば Thread.Sleep(DEFAULT_WAIT_TIME); の部分を while(process=null){Thread.Sleep(DEFAULT_WAIT_TIME);} と書き換えてみるとか。いい加減な方法だからデバッグ時以外に勧めないが
- 151 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 11:44:54.16 ID:VwNKZEQ+0.net]
- ヤバい
while(process==null){Thread.Sleep(DEFAULT_WAIT_TIME);} だったw
- 152 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 11:52:22.18 ID:/Gc52cuR0.net]
- 自分の環境はwin10で以前までと仕様が違いますよね。
それが原因かもしれません。 電卓のウィンドウハンドルを直接指定してやったら正常に動きました。 ここの方は親切ですね^^ 頑張りたいと思います。
- 153 名前:デフォルトの名無しさん [2017/11/12(日) 12:15:13.20 ID:j8Tzb3u50.net]
- 実行してもフォームが固まらないアプリって全部にDoEventsが入ってるわけなん?
メッセージキューは排他のために処理待ちになるん
- 154 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 12:21:08.98 ID:WcVSvCUs0.net]
- >>152
非同期処理してるだけだろw
- 155 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 12:23:38.91 ID:SMejQ9Z40.net]
- >>152
重い処理は別タスク(スレッド)を作って、UIから分離する。
- 156 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 12:26:44.13 ID:ArqlQl8r0.net]
- そいつ金曜日のキチガイだぞ
- 157 名前:デフォルトの名無しさん [2017/11/12(日) 13:00:56.85 ID:j8Tzb3u50.net]
- >>154
さんきゅ
- 158 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 13:40:23.32 ID:Y9bMvc7C0.net]
- キチガイばっかりじゃねーか!
- 159 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 14:51:20.87 ID:/Gc52cuR0.net]
- c++
void __stdcall systemcall(string passbuf,bool wait_flag) c♯ [DllImport("sample.dll", CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)] private extern static int systemcall(string passbuf,bool wait_flag); これで systemcall("dir", true); 保護されていないメモリがどうの出てエラーになりますが何がいけないのでしょうか?
- 160 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 14:54:28.47 ID:Y9bMvc7C0.net]
- 戻り値
- 161 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 14:54:56.10 ID:/Gc52cuR0.net]
- c♯側のvoidがintになってましたが記述ミスです><
エラー内容は正確には ハンドルされていない例外: System.AccessViolationException: 保護されているメモリに読み取りまたは書き込み操作を行おうとし ました。他のメモリが壊れていることが考えられます。
- 162 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 15:01:26.20 ID:zx9GAR9XM.net]
- std::stringはマーシャリングできない
C++側でchar*を受け取るラッパーを用意してやる必要がある C++/CLIもあるけど完全に死んだ技術だからお勧めできない
- 163 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 15:09:12.05 ID:e5xLDhIK0.net]
- >>161
>C++/CLIもあるけど完全に死んだ技術だからお勧めできない 死亡宣言されてるの?
- 164 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 17:07:08.00 ID:74EZy0fea.net]
- >>162
確かそうだよ メンテナンスされてないから使うなって言われてる
- 165 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:00:59.99 ID:ZC7erpT70.net]
- >>163
C++/CLIの件 たまに使うから気になる ソースか検索キーワードプリーズ
- 166 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:26:13.27 ID:/VKzDrV00.net]
- フォームアプリの新規作成は推奨しないってアナウンスはあるんで、それのことじゃないかな。
https://support2.microsoft.com/kb/3001686 C++/CLIそのものはまだサポートされてると思う。廃止されたのはマネージ拡張。 マネージ拡張からC++/CLIへの移行ドキュメントとか、比較的最近の日付でメンテナンスされてるし。
- 167 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:32:26.38 ID:ZC7erpT70.net]
- >>165
ありがとう フォームアプリで使うな、なら納得
- 168 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 18:59:33.96 ID:yKCfx7dw0.net]
- C++/CLI捨てるわけねーだろ
- 169 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:11:39.89 ID:MOg5phwx0.net]
- >>167
むしろ維持する意味がわからんが w
- 170 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:29:05.48 ID:e5xLDhIK0.net]
- >>168
c/c++のライブラリをラッピングするためにある。
- 171 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:30:38.51 ID:j0JK3
]
- [ここ壊れてます]
- 172 名前:XOeM.net mailto: http使ったほうがいいよ
今はもうネイティヴコールする時代じゃない [] - [ここ壊れてます]
- 173 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:35:01.10 ID:MOg5phwx0.net]
- >>169
別にC++/CLIなんて要らんだろ
- 174 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:40:46.39 ID:/VKzDrV00.net]
- C++/CLIって、なぜか使ったことなさそうな人にやたら叩かれるよねぇ。
自分に必要なけりゃスルーしとけばいいのに、わざわざ「要らない」アピールするのが謎だ。
- 175 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:55:44.38 ID:MOg5phwx0.net]
- >>172
ん? 人の意見を聞きたくないなら掲示板なんて見なきゃいいと思うぞ
- 176 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 19:56:59.33 ID:Y9bMvc7C0.net]
- >>172
こういうアピールしちゃうのも謎だよね
- 177 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 20:01:12.65 ID:yKCfx7dw0.net]
- >>171
今からの世代はいらないかも知れないが、今までの世代は必要なんだわ。 過去遺産の再利用でしかないがね
- 178 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 20:14:47.79 ID:MOg5phwx0.net]
- >>175
だからMSも力入れてない(2008の時代はインテリセンスすら使えなかった)し、そろそろ打ち止めってことかと
- 179 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 20:25:03.86 ID:e5xLDhIK0.net]
- >>170
ApacheもNginxもGoogle V8もLinuxもc言語なんだが。 サーバサイドのサービスもc言語のもあるだろ。
- 180 名前:デフォルトの名無しさん [2017/11/12(日) 20:32:44.51 ID:bU5Cj3UO0.net]
- >>170
急に飛躍しすぎ
- 181 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 20:41:06.51 ID:3TYzHs9Ed.net]
- >>177
過去のもの過ぎwww「今」の話題にそれはどうかと思うぞ
- 182 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 20:52:36.78 ID:e5xLDhIK0.net]
- >>179
そうか、NginxもGoogle V8も過去のものなのか 時代は変わったな。
- 183 名前:デフォルトの名無しさん [2017/11/12(日) 21:09:15.54 ID:H0u2BwIs0.net]
- まあ最新技術はPythonやPHPで実装される時代だしな。
- 184 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 21:32:32.26 ID:j0JK3XOeM.net]
- >>177
dotnet関係ないじゃん Cが要らないんじゃない 相互運用が要らない
- 185 名前:デフォルトの名無しさん [2017/11/12(日) 21:44:46.58 ID:H0u2BwIs0.net]
- いや、Cは要らないだろ。
Pythonが有れば何でもできる。
- 186 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 21:47:59.87 ID:VOtI22LEa.net]
- ダーッ
って猪木かっ
- 187 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:11:19.90 ID:BZnXPKY7d.net]
- 0以上10未満のdouble値の乱数5個標準出力したい
- 188 名前:デフォルトの名無しさん [2017/11/12(日) 22:14:51.64 ID:uWcm4jWJ0.net]
- String testid= "ABCD" + ".text";
このABCD.textっていう中身は"テスト"っていう文字列が入ってるとします。 でも、testidの中には”ABCD.text"が設定されるのですが、 どうすれば"テスト"という値が入るのでしょうか。 ABCD.textはtextviewで"テスト"という文字をあらかじめ設定しています。
- 189 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:29:14.34 ID:Y9bMvc7C0.net]
- stringの識別子名を中身に変換したいって?
そんな方法はないです
- 190 名前:186 [2017/11/12(日) 22:34:55.34 ID:uWcm4jWJ0.net]
- 下記の引数でアクセスすると、上記は期待値が入るのですが、
下記のtestidを指定するとおもった結果となりません。 しかし、ABCD.textといった風に直接指定するのではなく変数か何かで間接的に指定したいと思っております。 関数(ABCD.text); 関数(testid);
- 191 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:36:08.48 ID:Y9bMvc7C0.net]
- デリゲートを渡すのはどうか
- 192 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:37:37.16 ID:aoPluejS0.net]
- >>188
テキストボックスを変数みたいに扱いたいって言ってるのか?
- 193 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:42:23.71 ID:aoPluejS0.net]
- c#だとポインタなくなったから
んなことできないんだよね
- 194 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:52:01.90 ID:VOtI22LEa.net]
- 何言ってるのかさっぱり分からんw
ABCD.textって何ぞねw
- 195 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:53:27.72 ID:aoPluejS0.net]
- >>192
多分テキストボックスのtextプロパティ
- 196 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 22:56:45.91 ID:Y9bMvc7C0.net]
- ABCDというidが付けられたTextView(Xamarin/Androidのlabel)
のtextプロパティに"テスト"という文字列が設定されている これを何らかの方法で文字列で指定して取りたい
- 197 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 23:00:49.49 ID:VOtI22LEa.net]
- >>193
なるほどww 言語能力とプログラミング能力に関連があるって考えに俺は懐疑的だったけど やっぱり関係が深いのかもしれないねw
- 198 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 23:04:37.50 ID:aoPluejS0.net]
- >>194
無理じゃね? 本当は何がやりたいん?
- 199 名前:デフォルトの名無しさん [2017/11/12(日) 23:17:26.10 ID:bU5Cj3UO0.net]
- >>194
ググればすぐでてくる https://qiita.com/tokishirazu/items/66a25331d4c78980366e
- 200 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 23:25:24.74 ID:eFe5AqQqM.net]
- >>197
やめろ 糞プログラマが量産される
- 201 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 23:36:13.84 ID:WcVSvCUs0.net]
- >>195
それを理解するには十分な例だったなw
- 202 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 23:37:57.60 ID:eFe5AqQqM.net]
- >>186
"ABCD" + ".text"してるなら testidの中身はやはり "ABCD.text"です ただの文字列です それが勝手に”テスト”になってたら怖いし不便です プログラムしてて予測がつきませんので"ABCD.text"のままでいるほうが安心です "ABCD.text"からABCD.textにできる言語もありますが C#は基本的にそういうのはやらない方向でプログラムするべきです
- 203 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:09:08.69 ID:rsYvFHCwr.net]
- 全然推測できんw
まさかこう言う事? string testid= ABCD.text;
- 204 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:11:27.37 ID:nr7xz/FC0.net]
- ダックタイピングする言語じゃないからね
- 205 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:25:51.01 ID:KiX40CjjM.net]
- >>188
変数に入れたいならtextview型の変数を作っておいてそこに入れよう textview target = ABCD; 関数(target.text);
- 206 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:26:26.95 ID:rsYvFHCwr.net]
- ?
string testid = File.ReadLines("ABCD.text"); ????
- 207 名前:デフォルトの名無しさん [2017/11/13(月) 00:31:47.43 ID:sn+CO+UA0.net]
- >>186
String testid= "ABCD" + ".text"; じゃなくて String testid=ABCD.text;
- 208 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 00:36:09.38 ID:KiX40CjjM.net]
- 脳のテストみたいだな
理解できるものだけ理解してる 出来ない人は変なレスしてる
- 209 名前:デフォルトの名無しさん [2017/11/13(月) 00:38:07.10 ID:sn+CO+UA0.net]
- 答えはリフレクションだろ?
- 210 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 01:06:43.08 ID:8PrajDy/0.net]
- 初心者がやりたがることとしては定番だろう
そんなに意外性はない
- 211 名前:デフォルトの名無しさん [2017/11/13(月) 01:41:09.93 ID:v8HXsfBj0.net]
- >>208
は?
- 212 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 02:07:05.43 ID:c1Jq4ATj0.net]
- >>185
var rand = new Random(); for (var i = 0; i < 5; i++) Console.WriteLine(rand.NextDouble() * 10.0);
- 213 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 12:29:38.53 ID:JPipM5yVd.net]
- Controls.OfType<TextBox>().First(c => c.Name == "ABCD").Text
- 214 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 16:41:04.48 ID:KG3ltkXj0.net]
- 昨日DLLについて質問したものです。
おかげさまでとりあえずやりたいことが実現できました。 C♯からも呼び出せるマクロです^^ 電卓とメモ帳を自動操作 fast-uploader.com/file/7066114303960/
- 215 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 17:00:21.29 ID:5C1yWWLzM.net]
- parallelの中で更にparallelするとどうなりますか?
- 216 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 17:19:10.80 ID:3aIhrZk00.net]
- CPUの数だけでパラってあとは順番待ち?
- 217 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 17:48:55.95 ID:c1Jq4ATj0.net]
- 超Parallelになる
- 218 名前:デフォルトの名無しさん [2017/11/13(月) 18:28:32.97 ID:SvVWerXL0.net]
- プリミティブな配列
例えばstring[]とかってシリアライズ出来ましたっけ?
- 219 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 19:09:21.17 ID:M6weAJAZM.net]
- どんなシリアライザ使うのかもわからんのに答えようがないが
まあそれをシリアライズできないシリアライザはまずないだろうな
- 220 名前:デフォルトの名無しさん [2017/11/13(月) 20:26:35.00 ID:WRqgiOAAd.net]
- >>188
致命的に
- 221 名前:説明が下手か何も理解してないかのどっちかだと思う
下手に一般化するより今書いてるコードにコメント書いてそのまま晒した方がマシ [] - [ここ壊れてます]
- 222 名前:デフォルトの名無しさん [2017/11/13(月) 21:09:23.39 ID:K5+qKqcP0.net]
- >>217
ありがとうございます
- 223 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 21:18:38.99 ID:hP7f8JAdd.net]
- asynctaskの中でhttpによるデータ取得して取得したデータを戻り値で返す処理を作成しました。
同時にexceptionによる詳細なエラー内容も戻り値として返したいのですが、どのようにすればよいでしょうか? 戻り値が2つできないので困っております。又、戻り値の型は違います。
- 224 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 21:22:56.43 ID:9NHQYSXO0.net]
- >>220
その2つをプロパティとして持つ型をつくる
- 225 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 21:23:06.80 ID:qa5qRZI10.net]
- >>220
戻り値二種のValueTuple返せば良いんじゃないの
- 226 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 21:32:13.09 ID:3DwKtl+Id.net]
- >>222
WebAPIっぽいし、Tupleだとシリアライズした時にItem1、Item2ってなっちゃわない?
- 227 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 21:33:28.45 ID:3DwKtl+Id.net]
- あ、読み違えてたかもゴメン
- 228 名前:デフォルトの名無しさん [2017/11/13(月) 21:38:36.94 ID:sn+CO+UA0.net]
- >>220
エラーオブジェクトに応答とその他情報突っ込んでthrow
- 229 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 22:01:26.37 ID:qSvbvuzsa.net]
- >>220
こんな型でも返しますかw public class FunctionResult<T> { public FunctionResult(T val) { Value = val; } public FunctionResult(Exception ex) { Exception = ex; } public bool HasValue { get { return Exception != null; } } private T _Value; public T Value { get { if (!HasValue) throw new InvalidOperationException(); return _Value; } private set { _Value = value; } } public Exception Exception { get; private set; } }
- 230 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 23:32:00.25 ID:1k/7dsAB0.net]
- >>220
>同時にexceptionによる詳細なエラー内容も戻り値として返したいのですが 例外throwすれば良いだけでは?
- 231 名前:220 mailto:sage [2017/11/14(火) 01:18:02.74 ID:Rbk2zOBm0.net]
- 正常時は別の戻り値、異常時はthrow?で戻り値の型に合った内容が、
格納されるのでしょうか。 呼び出し元で、どのように取り出せばよいのでしょうか。
|

|