[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/08 11:46 / Filesize : 273 KB / Number-of Response : 1029
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part141



1 名前:デフォルトの名無しさん [2018/12/15(土) 11:07:07.89 ID:0aSEF/I+0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
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

331 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 17:53:25.90 ID:3+zdHjT80.net]
俺が先輩なら新人に自動車クラスとタイヤクラス作らせて型継承でタイヤ交換

332 名前:は容易にするようにと課題出す

出来たら6年選手として売る
[]
[ここ壊れてます]

333 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 17:56:23.24 ID:3+zdHjT80.net]
新人言うても30歳超えの中途ね
コスパ良いんだわ
年食ってると従順でパワハラにも耐える

そう言えば20代新人とか見たことない

存在するのかね

334 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 18:53:47.09 ID:LKOsIFRz0.net]
すまんがIT企業の闇と経験年数詐欺の手法はマ板でやってくれんか?
ム板は数年後のプログラミング教育必修化に向けてフレッシュでさわやかな若者向けの板に改装する予定なんだが

335 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:22:42.59 ID:LUo6T6YMr.net]
おまえが改装するの?

336 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:45:43.10 ID:adSAogxL0.net]
マ板話をム板でするなハゲ

337 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 19:57:21.94 ID:zUd1LnnRd.net]
>>325
ハゲ・ヅラ板の話をム板でやるなよ

338 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 20:48:28.34 ID:LKOsIFRz0.net]
早いところプログラミング必修化してほしいもんだぜ
会社の愚痴とブラック会社アピールが「プログラミングのお話」だと思ってるオッサン多すぎ

339 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 21:54:37.77 ID:v/mpstOM0.net]
IT業界の非正規形態に未来がなさ過ぎて辛い

いかんいかん 楽しい気持ちでラムダ練習せねば



340 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:02:21.54 ID:BJ9hxZ250.net]
↓プログラミングを必修化した結果
ttps://pbs.twimg.com/media/DwtF98FUwAIU166.jpg

341 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:16:50.60 ID:v/K+38IX0.net]
なんかちがう

342 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:41:31.47 ID:yv7JhRUX0.net]
そもそも資格試験は政治家の天下り先がつくってる
いみない

なぜなら資格を作ってるところの役員事態は
知識がないのだから。

343 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 22:57:58.37 ID:1ZiD/8V00.net]
文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。


対象文字
@w900×HH
AWW×h1000
BWW×HH
Cw900/h100
結果 引数がwなら左  hなら右
@tmpW=900 tmpH=WW
AtmpW=WW tmpH=1000
BtmpW=WW tmpH=WW
CtmpW=900 tmpH=1000

344 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:04:40.52 ID:qic/InUuM.net]
数字文字列は尻からスキャンが定石か

345 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:09:53.93 ID:FQpSYkdr0.net]
正規表現で抜けば?

346 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:11:37.85 ID:OxZoH0bi0.net]
>>317
ありがとうございます。調べてみます
>>318
ありがとうございます。しかし同じくキャンセル出来ませんでした

347 名前:デフォルトの名無しさん mailto:sage [2019/01/18(金) 23:58:07.57 ID:JDQsFvp5a.net]
フォルダの中に万単位でファイル作ってGetFiles()テストしたことがあったけど
10年以上前のPCでも非同期にしなきゃならんほど遅くなかったと思ったけどなあ

普通に遅い原因はユーザーコードの方にあるんじゃないの

348 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 00:06:23.94 ID:h3VcH88n0.net]
10年前のPCはそこまで性能悪くないだろ

349 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 00:41:04.18 ID:pEXPsY3Y0.net]
>>332
文字列を×/区切りの前後でsplit
それぞれの先頭がwhなら以降を戻り値



350 名前:デフォルトの名無しさん [2019/01/19(土) 01:20:56.46 ID:2Tiw7zAQa.net]
>>336
誰と話してるの

351 名前:デフォルトの名無しさん [2019/01/19(土) 05:18:33.12 ID:M8Q3zGyy0.net]
>>332
今ちょうど過疎ってるお題スレにちょうど良さげなのでお題スレにコピペさせてもらおう。

352 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 07:28:05.47 ID:+IqL7b8U0.net]
>>334に一票

353 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:43:09.59 ID:hupcYVyzM.net]
>>332
Cが難題だな。どうやって実現しようかなぁ

354 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:48:50.91 ID:Oo+kKfbG0.net]
indexOfとLowerでイケるんちゃうか?

355 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 08:49:22.84 ID:Oo+kKfbG0.net]
あとsplit

356 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 14:47:58.46 ID:+IqL7b8U0.net]
>>342
確かに w
まあtypoだろうからスルーしてやれよ

357 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:07:22.10 ID:FJgPPckz0.net]
脊髄反射で書いたので添削頼む。

public static string[] GetHW(string input)
{
string[] returnval = new string[2];
string[] temp = input.Split('+','-','*','/');

if (temp[0].StartsWith("w", StringComparison.Ordinal))
temp[0] = temp[0].TrimStart('w').Insert(0, "tmpW=");
else if (temp[0].StartsWith("WW", StringComparison.Ordinal))
temp[0] = "tmpW=\" \"";
else
temp[0] = "それ以外の何か";

if (temp[1].StartsWith("h", StringComparison.Ordinal))
temp[1] = temp[1].TrimStart('h').Insert(0, "tmpH=");
else if (temp[1].StartsWith("HH", StringComparison.Ordinal))
temp[1] = "tmpH=\" \"";
else
temp[1] = "それ以外の何か";

return temp;
}

358 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:11:32.02 ID:FJgPPckz0.net]
あ、Replaceでよかった。
returnvalも無意味。

359 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 17:39:42.56 ID:FJgPPckz0.net]
1文で
public static string GetHW(string input)
{
return input.Replace("w", "tmpW=",StringComparison.Ordinal)
.Replace("h", "tmpH=", StringComparison.Ordinal)
.Replace("WW", "tmp=\" \"", StringComparison.Ordinal)
.Replace("HH", "tmp=\" \"", StringComparison.Ordinal)
.Replace("+", " ", StringComparison.Ordinal)
.Replace("-", " ", StringComparison.Ordinal)
.Replace("*", " ", StringComparison.Ordinal)
.Replace("/", " ", StringComparison.Ordinal);
}



360 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 18:47:09.81 ID:jmND9WvPa.net]
>>332
質問内容はともかく、プログラマならもうちょっと読み手が推測で補完しなくても
内容を過不足なくきっちり読み取れるような文章を書いた方がいいと思う。

ってういか、率直に言って日本語変だよw

361 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 18:53:12.69 ID:+IqL7b8U0.net]
文章はともかくサンプルデータと結果を書いてるのは褒めてもいいと思うよ
他の質問者もぜひ見習って欲しい

362 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:00:37.08 ID:ov6XiAZ2M.net]
競技プログラミングの問題文よりましだろ

363 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:36:35.93 ID:PaRH8QDQF.net]
独学手探りで勉強しながら作っていたアプリケーションが一応形になったので
折角だから公開してみようと思っているんですが、
デバッグやライセンス確認など、リリース前に確認する事、の知識が全くないことに気づきました
少額ながら有料公開にしようと考えている為、
最低限これとこれは確認しないと、って物を教えて頂きたいです

364 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:39:05.53 ID:9NMu+pMT0.net]
>>352
なんのアプリケーションかも分からないし、答えようがない

365 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:41:36.75 ID:FJgPPckz0.net]
有料ってことは、不具合に対する改善要求が来る可能性もあるので、責任の範囲(逃げ道)を明確にしておく。

366 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:42:32.49 ID:XwZdf3VkM.net]
>>349
そこは、「あなた、日本語お上手ですね!」で煽らないと

367 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 19:53:49.36 ID:oPTngqYr0.net]
煽ってどうすんだよガイジ

368 名前:デフォルトの名無しさん [2019/01/19(土) 20:31:17.01 ID:h4R+weTi0.net]
>>313
今の所、普通に使っていて2.2にはならないのか
ありがとう

369 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:00:12.97 ID:jmND9WvPa.net]
>>332
まあ、適当に忖度して書いてみた
普段正規表現あんまり使う機会がないんでどっかおかしいかもしれん
https://ideone.com/b9pjrG



370 名前:デフォルトの名無しさん mailto:sage [2019/01/19(土) 21:02:54.87 ID:BW5TF7JUa.net]
>>352
ヘタしたら訴訟沙汰になりかねないからやめとけ
まずはベータ版

371 名前:として無料で配るとかして様子を見るべき []
[ここ壊れてます]

372 名前:デフォルトの名無しさん [2019/01/19(土) 21:59:06.23 ID:+chQE6yt0.net]
>>352
・C#で作ってるならデコンパイルされても大丈夫か確認しておく
・GPL汚染に注意する

373 名前:デフォルトの名無しさん mailto:sage [2019/01/20(日) 23:51:42.85 ID:NEqE5pSC0.net]
ソフトで商売って労力に見合わないな
キラーソフトでも作れればそれだけで暮らせるんだろうけど

374 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 00:00:18.20 ID:lx5Y5NZb0.net]
ニッチな分野か、あるいは既存ソフトより高性能であれば有料でも売れる可能性はある

375 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 01:05:58.77 ID:+LWwKYuDa.net]
業務アプリなら大したスキル無くてもやってることがビジネスとして正しくてちゃんと営業すれば売れるよ
今時ツール系で稼ぐのはまあ無理

376 名前: mailto:sage [2019/01/21(月) 05:02:51.88 ID:BX1YVz9RH.net]
>>362
業務にての使用を公認されるためには、有料(シェア)ソフトの方が有利なようですよ、秀丸とか

377 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:23:38.48 ID:EWbXmLTJ0.net]
ASPばかりしてたらWinFormの作り方忘れた
つか今だにWinFormの案件あるのかね
小ツールはコンソールアプリで作っちゃうから勝手が思い出せない

378 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:27:48.21 ID:V744VEzgd.net]
>>346
>>348
ありがとうございます!調べてやってみます!

379 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:41:57.18 ID:A1e+SXhY0.net]
ASPの案件がある方が驚きだわ



380 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:46:49.66 ID:1hBKI8k2D.net]
>>367
大手はWindowsServer入れてる率が多い気がする

381 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 07:54:57.12 ID:BPZ4z+V2d.net]
>>368
ASP.NET(かもしくはASP.NET Core)やろってツッコミじゃね?

382 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 08:07:17.42 ID:pqXwpH4cd.net]
ASPはもうASP.NETに移行済んでるものと思ってた

383 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 08:20:46.33 ID:V744VEzgd.net]
>>358
わざわざ有難うございます!
これも書いて勉強してみます!

384 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 10:03:06.25 ID:HJdNRmJRM.net]
開発マシン XP32bitでVS2005で作ったC++のdllを同じくVS2005で作ったC# WinFormアプリでDllImportを使って利用しています。

Win10 64bitで実行するとC++の関数をコールすると
間違ったフォーマットのプログラムを読み込もうとしました。(HRESULTからの例外: 0x8007000B)
となります。

同じ事をwin7 64bitのVS2013で作ったアプリでしても(当然)問題なく動きます。

VS2005で作ったアプリで動かす方法はないでしょうか。

385 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 10:21:26.36 ID:yj1nRareM.net]
プロジェクト設定でany cpu になっている部分をx86にしなされ

386 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 11:03:04.79 ID:HJdNRmJRM.net]
>>373
ありがとうございます!
無事動作しました!

387 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:12:30.14 ID:1DQQx7qk0.net]
新規プロジェクトをVBでやりたがるPMにC#をオススメしたいのですが、C#が決定的に優れてる点はあるでしょうか?
VB読みにくいなんて言っても苦しむのはお前だろ関係ないという雰囲気で

388 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:30:08.86 ID:eMR7WidkM.net]
ループの評価とコーディング量かな

手持ちプロジェクトをSharpDevelopで変換してみなされ

389 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:44:54.58 ID:9okmCQOjM.net]
プログラマの品質
実際にC#使うかVB使うかはどうでもいいが、要員をC#経験者に限定することでリスクは格段に下がる



390 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:55:35.86 ID:qfMy6igJ0.net]
ネットに転がってるサンプルコードの量
(ちょっと慣れればすぐに読み替えられ

391 名前:驍謔、になるってのは秘密) []
[ここ壊れてます]

392 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:14:20.48 ID:dccJtP51d.net]
>>377
担当PGは決まってるんだからそんなこと言っても説得力なし

393 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 13:48:30.91 ID:NM3vIbDMa.net]
日本人を説得するのはこれが一番
yellow.ribbon.to/~joke/tobikome.html

実際問題.NETの世界ではC#が標準で「みんな」が使ってる。
逆にあえて非標準のVBを使う理由って何なんですかと聞いてやればいい

もう少し合理的な人なら、ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
プロパティーのいろんな省略記法とか、C#ならいかに簡潔にかけて同じことをVBでやるといかに冗長になるか
具体例を見せてやればいいよ

394 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 14:10:03.70 ID:NbFzEAOW0.net]
>>380
> ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
> 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
> プロパティーのいろんな省略記法とか、
単なる印象だけど>>375のところのPMはそう言うのを嫌いそうな気がする

395 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 16:35:43.35 ID:trZhU3Ina.net]
Labelを貼って、そのTextを空白にしたらデザイン画面でクリックできなくなってしまったのですが
どうやって選択状態にしたらいいのでしょうか

396 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 17:01:29.53 ID:NM3vIbDMa.net]
>>382
デザイナで以下のどれかの操作をする
(a) [ctrl] + z
(b) マウスでそのラベルがあったあたりをドラッグ
(c) [ctrl] + [alt] + t
(d) プロパティウィンドウの上部のドロップダウンで選択

397 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 17:54:05.53 ID:trZhU3Ina.net]
>>383
ありがとうございます
C案でやらせていただきました

398 名前:375 mailto:sage [2019/01/21(月) 18:26:05.83 ID:1DQQx7qk0.net]
PM的にはVBのが簡単で人員の確保が容易との理由ですが、イベントリスナにクラスレスで全処理書くベテランエンジニアの意向を汲んでるんだと思います

自分はサンプルの多さとC系で無い記述に不慣れという理由でC#を希望しましたが、ベテランに寄せられるんだろうなと諦めムードです

ちなみにベテランのスマートUIは芸術の域で若輩の自分には追従不可です

コード量も多く見積りが高く出来るとPMからも信頼されています

399 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 18:37:52.16 ID:PrrgsGFM0.net]
今2019年やぞ……。
生産性を上げる技術を入れる気が無い、そのPMにはC#のメリットはメリットに見えないだろうなぁ。
ベテランは古い技術と心中できるけども……



400 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:12:08.60 ID:R3pW/ayE0.net]
ループ内で一時変数宣言したらコストが増えるってのを知って
新しいブロック作って変数宣言してみたけどなんか見た目がすっきりしない
ループ内の変数宣言の新機能とかないのかな

401 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:14:47.05 ID:FhYMYDcaa.net]
>>386
生産性って言葉は立場や状況によって指してるものが変わるんやで

402 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:26:17.46 ID:tYy/rBPTM.net]
ソフトウェア作れると言うとソフト作って売って大儲けできるんじゃないかと
よく言われる

世間はそういう感じで見てる

403 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:27:19.80 ID:0j7Aeluod.net]
権力持ってる人がVB推しなら決定でしょ
できることはほぼ同じだし諦めな

404 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:36:49.44 ID:lF845d4L0.net]
>>387
コストが増えるってローカル変数が増える事?
初期化するスタックの増加

405 名前:やレジスタに乗りづらくなるとか?
さほど気にするもんでも…とりあえずAnyCPUで64bit優先オヌヌヌ
[]
[ここ壊れてます]

406 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 19:59:33.83 ID:2/OM9doDa.net]
>>386
意識高めても虚しいだけだよ
10年この仕事して啓蒙もしたけどなにも変わらなかった
9割5分の人材はそもそもシステム開発に興味ないから啓蒙しても無駄
転職するか割り切るかどちらかしかない
環境を変えようと思ったら負け

407 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 05:26:41.64 ID:1xYsQegz0.net]
正規表現パズルやってたのか・・・参加したかった

408 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 12:26:50.15 ID:vFo5wc3/a.net]
パズル言うほど難しい問題出てない気が...
どっちかっていうと質問自体の方がハズ(

正規表現便利だけど他人の書いたの読むのキツいよねw
しょっちゅう使ってれば違うのかもしれんが

409 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 15:21:12.16 ID:pHhZylOrM.net]
ややこい正規表現の場合
コメントで想定okパターンくらいは書くようにしてる



410 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 15:22:14.22 ID:pHhZylOrM.net]
あとテストコード入れとく場合も

411 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 17:14:18.11 ID:4H8Bkb5P0.net]
フォームアプリケーションにtrackbarを2つ用意して、
pcに接続されたモノラルマイクの音量(感度?)とパンニングをそれぞれ操作したいんですが
適当な検索ワードがわからずにたどり着けませんでした
できるだけシンプルに、どう書けば可能でしょうか?

412 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 17:49:02.10 ID:vFo5wc3/a.net]
ググったらこんなのが出てきた
読んでないけどなんかすごい面倒くさそう...
https://web.archive.org/web/20060712054058/www.terra.dti.ne.jp/~vivas/delphi/mixerapi.html

413 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:36:37.95 ID:NN+MTXVc0.net]
質問です
ファイルの移動を扱う自作メソッドの結果を扱うクラス(Aとする)を作りました
このクラスに
class A{
...
public static A Output_IsCanceled(string 元のファイル) {
//引数を受けて動作をキャンセルしたことを示す結果を返す。
}
}

のように典型的な結果を出力するメソッドを追加したのですが、
このAを継承したクラスBにこのメソッドもこのメソッドを上書きしたメソッドも実装させたくありません。
なにかスマートな解決方法はあるでしょうか。

私には大人しく別のクラスに移すくらいしか思いつかないのですが。

414 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:49:41.50 ID:P5rqpQdz0.net]
>>399
そのメソッドを外したクラスを作ってクラスAとクラスBに継承させる

415 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 18:49:53.30 ID:lqDMGVH00.net]
親作って別々に継承

416 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 19:00:35.92 ID:NN+MTXVc0.net]
なるほど 言われてみれば簡単でしたね
ありがとうございます

417 名前:デフォルトの名無しさん [2019/01/22(火) 22:12:29.98 ID:ttdon+q40.net]
object型の変数に入れた匿名クラスのプロパティを取得する方法で
詰まっております。

object hoge = new { fuga = 1 };
int a = hoge.fuga ←こういうイメージで取得したかったのですが。。。

ご教授よろしくお願いいたします。

418 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:19:56.81 ID:bu0N7pF20.net]
>>403
なんでそんなことしたいの?

419 名前:デフォルトの名無しさん [2019/01/22(火) 22:25:46.51 ID:ttdon+q40.net]
>>404
Dapperの引数がobject型だったのですが、Dapperに渡す前の
匿名クラスのプロパティの値を元に一つ条件式を作りたかったんです
object型の匿名クラスからどうやって値を取るのか興味もありまして



420 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:26:33.77 ID:qwoCd5dDa.net]
ほら宇宙刑事ギャバンの必殺技みたいなあれだよ

421 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:39:23.63 ID:g3EQ5hiYa.net]
>>405
無理
渡す先の引数がobject型だからって変数の型をそれに合わせる必要はないだろ
var使えよ

422 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:41:18.57 ID:0fUOX4Xc0.net]
>>403
リフレクションを使った力業
var a = ( int )hoge.GetType().GetProperty( "fuga" ).GetValue( hoge );

423 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 22:45:23.28 ID:UB+BgHs40.net]
>>403
int a = ((dynamic)hoge).fuga;
てしたら取れた。なおインテリセンスはきかない。

424 名前:デフォルトの名無しさん [2019/01/22(火) 22:47:54.29 ID:N3agGC610.net]
>>409
これは全く頭になかったわ

425 名前:デフォルトの名無しさん [2019/01/22(火) 23:01:01.54 ID:ttdon+q40.net]
>>409
値が取れました。ありがとうございます。
結構トリッキーになるみたいなので
多用は避けた方が無難かと学びました

しかし、Dappreはさらにプロパティ自体も自前で取得するので
手練れの外人は違うなと

426 名前:デフォルトの名無しさん mailto:sage [2019/01/22(火) 23:21:33.35 ID:0fUOX4Xc0.net]
>>411
Type.GetProperties()でプロパティの一覧が取得出来るよ。
foreach ( var propertyInfo in hoge.GetType().GetProperties() )
{
var value = propertyInfo.GetValue( hoge );
Debug.WriteLine( $"{propertyInfo.Name}={value}" );
}

427 名前:デフォルトの名無しさん [2019/01/22(火) 23:32:00.27 ID:ttdon+q40.net]
>>412
なるほどそうやるのですね
知らないことが多いので参考になります

428 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 00:01:29.03 ID:n+ibBTmv0.net]
Androidの実機持って無いんだけど、もし、完成したC#のアプリが有った場合、
DownLoad から、実行まではどうすればいい?
.Net のインストールから始まるの?
C#アプリはGooglePly からDLするの? それとも自前のWebサイト?

429 名前:デフォルトの名無しさん [2019/01/23(水) 03:41:42.64 ID:g/jeFpr60.net]
WPFって、最初のGUIデザインはデザイナで出来ますが、ユーザーの入力に応じてGUIを変化させたい場合
(例えば、テキストボックスに3と入力したらラベルを3つ追加するとかの場合)
xamlではなくC#のソースコードでコントロール追加せざるを得ないのでしょうか?



430 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 04:35:34.67 ID:OkP0wizv0.net]
>>411
匿名クラス使わなきゃいいやん

431 名前:デフォルトの名無しさん mailto:sage [2019/01/23(水) 07:17:48.93 ID:bZ1m5CuBM.net]
>>415
wpf xaml 条件分岐
でググレ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef