1 名前:デフォルトの名無しさん [2017/09/08(金) 18:12:11.06 ID:Ej7G00WU.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part130 https://mevius.2ch.net/test/read.cgi/tech/1500327645/ ■関連スレ C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1492843013/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/
283 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:31:37.12 ID:QE5Dhgdp.net] 独習C♯ 猫でもわかるC♯ 本屋で適当にプログラム本捲って自分が読める感じの探すのがいいけど
284 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:40:33.90 ID:3905ntF4.net] C#の絵本 概念掴むのにはコレは分かりやすいよ
285 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:46:57.37 ID:QE5Dhgdp.net] >>280 俺もこれ持ってるわ 読みやすいから導入としてはこれも良い
286 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:51:03.57 ID:QOgyryHO.net] 絵本シリーズか、悪くない
287 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:04:58.39 ID:YNlal7Li.net] C#の絵本買ってみようかな 来月中旬に出る第2版を読んで良かったら買うよ
288 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:23:42.33 ID:5Re80ay8.net] 回り道に思っても一度Cを勉強した方が結局早いような気もするけど、どうかね。 構造化プログラミングやポインタの理解を経由せずに いきなりC#で概念の洪水に晒されてちゃんと消化できるのか。
289 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:26:47.21 ID:W42Z2QXo.net] ぜひ実験して教えてくれよ 思うレベルのご意見は要らねえからよ
290 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:27:49.29 ID:ikTXova5.net] Cの余計な知識なんていらないでしょ
291 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:44:59.49 ID:3905ntF4.net] C#をやってみようって決意したんだろうからそれを踏まえて指南すれば良いのでは? デリゲート使う時に壁を感じたらそれはその時考えれば良い事で、その時だったら今よりはCに浮気するハードルは高くないはずだと思う
292 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:45:44.36 ID:Zk6Irz58.net] んー、もちろんいらないといえばいらないんだけどね C#あたりの今時のプログラミング言語になってくると、できることが多すぎるから プログラミングまったく初めての人は、Cなどの昔ながらの言語で初歩を勉強してから 入門したほうが挫折のリスクは少ないし、それからのほうがC#の理解も容易だろうとは思う で、もしポインタでつまづくようなら、全然むいてないってことだしw
293 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:48:46.79 ID:hF16Uo8A.net] 物理的なメモリレイアウトが見えてるほうがイメージしやすくて逆に簡単という意見もある 標準ライブラリも貧弱だから覚えること少ないし TMPの誘惑に取り憑かれなければ回り道というほどでもないだろう
294 名前:デフォルトの名無しさん [2017/09/16(土) 20:49:57.29 ID:ikQV5H4G.net] プログラミング初心者でC#やりたいならCの構造化は邪魔になるだけだと思うけどなぁ
295 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:54:04.12 ID:SMlIDWsJ.net] Cから入ると変な癖がつくからお勧めしないな C自体がダメというわけじゃないがコーディングスタイルが古い モダンな言語への移行を前提として古臭い書き方を廃した入門書があればいいけど
296 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:03:11.30 ID:5Re80ay8.net] >>290 構造化プログラミングの理解はC#であろうが必須事項ww >>291 別にCを極める必要はないよ。 Cの方が覚えることが少ない分恐らくクイックスタートが切れるだろう、ということ Cでも「stdioって何?」みたいな最初は「おまじない」としてやり過ごすしかない部分はあるけど、 C#だと桁違いにそれが増える
297 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:07:37.57 ID:QE5Dhgdp.net] CやC♯から入らずにphpから入ったわ・・・
298 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:18:53.41 ID:5uPi2u+e.net] >>292 C#だって、ラムダ式より前の基本的な文法だけなら、覚えることそんなに多くないだろ。
299 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:20:26.04 ID:S4dTswZ/.net] 出来る事が最初から多過ぎる、てのは解る気がするわ C#でも、GUIをしばらくお預けにしてCUIから教える分には そんな複雑でも無いとは思うけどね
300 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:22:07.89 ID:5GJ5fljb.net] C#で構造化プログラミングを学べないわけもないだろう。
301 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:25:05.16 ID:gxsdxxSU.net] ハードに近い所で仕事したいならともかく 本当に回り道にしかならん
302 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:25:11.68 ID:Pzxpwiqj.net] 「猫でもわかるC#〜」は初心者には絶対に勧めない 自分がC#を勉強しようとして最初に読んでえらく悶絶したので もし書名が「ざっくり覚えるC#文法」とかだったら納得もできる 猫や初心者にわかるように丁寧に説明している本ではない 他のプログラミング言語を知っている人が、さっとC#の文法を理解するにはたぶん良いのだろう 例えば、版によるかもしれないがこの本には「文字列はダブルクォーテーションで囲む」 ということがどこにも書かれていなかった なのになぜか「char型はシングルクォートで囲む」という説明はある 要するに、文字列をダブルクォートで囲むという「常識」を知らないような初心者目線では書かれていない そういうのが他にも多数ある 書名の付け方を間違えたのか、作者に初心者を慮る能力が欠けているのかはわからないが 初心者向け参考書なのに読んでもわからずググってやっと理解する、という繰り返しになるので 超初心者は他の本を買った方がよい
303 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 21:45:24.46 ID:YNlal7Li.net] 絵本シリーズが一番いいんかな
304 名前:デフォルトの名無しさん [2017/09/16(土) 21:52:40.76 ID:ikQV5H4G.net] >>292 もちろん理解しないといけないのは当然だけど、普通にプログラミングを重ねれば自然とそうなるでしょ 初心者で下手ゆ構造化プログラミングに慣れてしまうとオブジェクト指向の考え方が理解しづらくなるかなと思って 書籍は個人的に「実戦で役立つ C#プログラミングのイディオム/定石&パターン」がおすすめ出来るかな
305 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:00:36.81 ID:S4dTswZ/.net] まず、「構造化プログラミング」と聞いて何を連想するかが人によってかなり異なるので もっと別の言葉に置き換えた方が良いぞ その上で、「プログラミングその物の入門に」という話なので ンな手癖が付くほどがっつり深くやれって話でなく、触り程度に概念を理解するくらいで終わる話じゃないの
306 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:05:19.42 ID:Zk6Irz58.net] >>300 とゆーか、オブジェクト指向自体が今時のプログラミング言語で初心者を挫折させる 元凶のひとつだからなw オブジェクト指向がすんなり理解できるような人だったら、いきなりC#からで別段 問題ないし、よくわからないうちはとりあえずはわかったふりで無理して使わなくて いーよと適切なアドバイスできる人が近くにいるなら心配ないんだけど
307 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:13:07.82 ID:QE5Dhgdp.net] >>300 今読んでるけどおすすめだと思う ただ未経験からいきなりそれ読んでも分からなそうな感じ 独習C♯で写経して、イディオムでパターン覚える感じというか、俺がそんな感じで進めてるところ
308 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:19:26.45 ID:fBWSyi5J.net] 俺が最初に読んだプログラミング本ってK&Rだったけど、アレはいい本だったな
309 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:19:46.48 ID:ja70x9oy.net] スッキリわかる Java入門 第2版、2014 本当の初心者は、スッキリから行かないと、 オブジェクト指向が理解できない
310 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:37:39.28 ID:ajkFqLJv.net] VS2017でC#勉強中です ソースエディタでクラスやメソッドは折りたためますが、この折りたためる要素のソース内での表記の順番を入れ替えたいのですが、 動かす部分を全行選択して切り取ってペーストする以外に方法はないでしょうか? 気の利くエディタなので、この程度の事は一発でできそうな気もするのですが…
311 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:47:31.05 ID:I8TGF8JO.net] >>306 折りたたんで切り取れば一行で済むのにそんなのいるか?
312 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:55:08.96 ID:ajkFqLJv.net] ありがとうございます 折りたたんだ状態で全部を切り取れるんですね 気づかなかったです 更に 折りたたんで選択しとけばドラッグも出来ました
313 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 22:59:15.21 ID:+xkFVGQp.net] Wordもいつからかそれが出来るようになって便利になったなーと思った
314 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 02:13:43.86 ID:sWVhSEDv.net] ジェネリックなインターフェースってどうなんですか?できることはわかっているのですがどういうメリットデメリットがありますか? string型もしくはUri型を引数にしてWebスクレイピングを行うメソッドなのですが、返り値はList<>で返したり、データクラスで返したりしたいのですがインターフェース化するとどういうメリットがありますか?
315 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 03:14:43.81 ID:laU7wNws.net] そんな奇形メソッドに使ってもメリットはねーだろ
316 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 06:00:39.78 ID:CHXibXnz.net] その要件でインターフェイスを使うこと自体には意味がある。けどそれがジェネリックなものである必要性はない。
317 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 09:28:39.99 ID:rBV8stJp.net] >>306 行を選択(複数行可)して Alt + カーソル で移動、という方法もある Shift + カーソルで行選択すればキーボードから手を離さず操作できる
318 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 10:01:53.64 ID:TKU7D
] [ここ壊れてます]
319 名前:vDW.net mailto: >>310 メリットを生み出すのは自分自身だ どう使うかは自分がきめることだよ 無理にインターフェイスするとして考えられるのは スクレイピングの結果の戻り値がIList<T>でとかそんな感じ [] [ここ壊れてます]
320 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 13:08:39.84 ID:KkY0e3DN.net] C#でWindowsフォームアプリケーションじゃないものを(VC++でいうSDI)を作る場合って Visual Studioでどのテンプレートを選択すべきなんでしょうか? VC++はMFCのSDIテンプレートなんかあってとっかかりやすかったんですが、 C#はWindowsフォームアプリケーションかWPFぐらいしか すぐに使えそうなテンプレートが見当たらなくて。。。
321 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 13:20:54.70 ID:bn1LOyuD.net] >>315 wpfならhttps://github.com/ButchersBoy/MaterialDesignInXamlToolkitを使ってみるのも良いかもしれん
322 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 14:02:47.82 ID:FKLlCzPO.net] >>315 VC++はフォームの作り方に難があるから目的別テンプレートが必要なので当って winformsやWPFは自由にデザインしやすいから別に出来合いのテンプレートが必要ないと思う
323 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 16:57:27.84 ID:KkY0e3DN.net] >>316 ,317 WPFとWindowsFormsというフレームワーク?を使わずにその他の「何か」を想像していたんですが、 そもそもその考えが間違っているようですね。出直してきます。
324 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:25:07.29 ID:sWVhSEDv.net] >>312 やっぱりインターフェースだとジェネリックメソッドは意味はないのでしょうか? >>314 設計が悪いのか返り値がIList<>オンリーじゃないですね
325 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:42:10.34 ID:CHXibXnz.net] >>319 なぜ意味があると思った?
326 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 18:08:20.43 ID:MRaZ3EJn.net] >>319 特定のコードじゃなく一般論の話をしてるなら、ちょっと短絡的過ぎない?w IEnumerable<T>.Castなんかジェネリックだし、場合によっては使い道あるんじゃないの? それと、前スレでもちょっと出てた話だけど、 個人的には必要もないのにインターフェイスかぶせても 生産性と可読性が下がるだけで何もメリットないと思うよむしろ
327 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 22:38:37.23 ID:AtDn9PVi.net] Visual Studio 2017 Community エディタ上の変数の色を変えるにはどうしたら良いのでしょうか? qiita.com/hima_zinn/items/1a58309201ca8d616332 C++では↑のような方法でできるようなのですが
328 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 22:47:20.64 ID:MRaZ3EJn.net] >>322 オプションの画面に検索機能がついてるんだからそれらしいワード入れれば見つかるでしょ とりあえず「フィールド」でやってみたら?
329 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:17:30.87 ID:AtDn9PVi.net] すみません見つからないんです 例えば『フィールド』で検索しても出てくるのはC#→コードスタイル→前半の中のものだけ 『フォント及び色』→にはC++用のいろいろな設定はあるんですが、C#の変数の表示を変えるようなものがどれかわからないんです それっぽいな?というものを変更しても変わらず 変えられたのは行番号とコメントの色だけ 変えられないってことありますか? ネット検索してもC++の例はあってもC#での例が見つからない
330 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 00:41:29.71 ID:EYlFP7gd.net] >>324 VSはC#のために作られてるので() c#の○○という表記じゃないだけ 下のほうにキーワードとか文字列とかいろいろあるでしょ そのうちのどれかですとしか言いようがない
331 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 00:47:59.35 ID:EYlFP7gd.net] あ、わかった 識別子だ 変数だけは無理だな
332 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 00:49:52.49 ID:EYlFP7gd.net] 眠い中探した俺を誉めろ
333 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 02:20:01.85 ID:ozgak7
] [ここ壊れてます]
334 名前:o7.net mailto: >>327 若年性老害候補、一直線!おめでとう [] [ここ壊れてます]
335 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 05:39:51.27 ID:8KP9vlA9.net] >>327 眠い中どうもありがとうございます 雷鳴ってPC落としてたら… やはり他の部分も変わってしまいますね 変数だけ色分けできたら使いやすいのに…
336 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 06:00:31.65 ID:Yvok/w5K.net] クラスでListや配列を扱う勉強してます 以下はテキストボックスを使ってListをどう扱えば良いのかを考えている実験用ソースです public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string hyouji; TextBox textbox01 = new TextBox(); this.Controls.Add(textbox01); hyouji = Test01(); textbox01.Text = hyouji; } private string Test01()//テスト用オブジェ作成メソッド { List<string> testList = new List<string> { "a", "b" ,"あ","ん"}; Testclass jikken; jikken = new Testclass(); jikken.youso = testList; return jikken.test(); } }
337 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 06:00:51.39 ID:Yvok/w5K.net] public class Testclass//クラスと配列のテスト用 { public List<string> youso = new List<string>(); string modori; public string test() { modori = string.Join(",", youso); modori = modori + "-" + modori; return modori; } }; class Testclassの中のtestメソッドで文字列に変換したものを stringの戻り値を多段経由してテキストボックスに表示しています クラス跨いでのControlの扱いが分かってないのですが、 のソースで戻り値を経由せず、Testclassのtestメソッドからtextbox01.textに直接書き込むにはどうしたら良いでしょうか?
338 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 06:02:16.29 ID:Yvok/w5K.net] 色々余計なことや面倒くさい宣言、ダサいことしてたりしますが、試行錯誤の名残なのでご容赦ください
339 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 06:12:51.82 ID:Yvok/w5K.net] https://ideone.com/aopoUw すみません コード貼る…の使い方が分かってなかったです コード貼っときました
340 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 08:33:57.39 ID:7QJzTfH9.net] どっちかというと外に追い出すべきは textBox.Textへの書き込みでは無くて Test01メソッドの方
341 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 10:54:18.79 ID:g7YoyWj5.net] WebBrowserのNavigating、Navigated、DocumentCompleteイベントがわかりません ログ見てるとNavigatingが一度しか呼ばれていないのにNavigatedが2回呼ばれてDocumentCompleteが呼ばれる 自分の頭の中ではNavigating→Navigated→DocumentCompleteの順番だと思っているのですが違うのでしょうか? 参考になるページありましたらご教示お願いします
342 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:27:10.73 ID:HjSStS87.net] 初歩的かもですが、下記例の書き方で、Objectで引数を受け取るのにクラス変数の型に合わせてキャストして受け取る形が少し不自然に感じます。 この様な書き方で問題ないのでしょうか? それとも他にいい感じの書き方がありますでしょうか? class Test { private int a; private string b; public Test(params object[] param) { a = (int)param[0]; b = param[1].ToString; } }
343 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:31:12.97 ID:IcOpWHLw.net] >>336 動けばいいだろカス
344 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:35:23.03 ID:BIiVnPJO.net] >>336 object型で引数を受け取る必要あるの? public Test( int a, string b ) { this.a = a; this.b = b; }
345 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:35:57.16 ID:JMdJN0yq.net] >>336 何を求めているのかいまいちわからないけど、その文だとparam[0]がキャストできないときにエラーで止まる なので例えば bool result = Int32.TryParse(param[0], out a); に変える この場合キャストできないときにresultにfalseが入る
346 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:38:06.59 ID:HjSStS87.net] >>338 あくまで例って言う通り、実際はもっと多い引数だったり、場合によっては一部値を渡さない実装(デフォルト値設定)するつもりなんですよね paramsって名前付き引数にできるのか?とか今調べてます 無理そうならDictionary使おうかとか考えてるところです
347 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:40:19.22 ID:HjSStS87.net] >>339 ありがとうございます TryParseの存在は知ってましたが、例外処理書いて載せるのめんどいのでとりあえずキャストだけ書いとけってやりました すいません
348 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:43:00.12 ID:xV3zBIyo.net] 他人にエスパー能力を求めてる自覚がない人は困っちゃうねw
349 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:47:27.13 ID:nAoTSCTK.net] >>340 型を作る 用途次第だけど
350 名前:デフォルトの名無しさん [2017/09/18(月) 21:48:03.01 ID:HjSStS87.net] 実際はこの画像の感じで色んな型の変数をセットしていくのに、コンストラクタにparamsで渡していって、受け取ってない場合は初期値入れるってのをやるつもりです。 https://imgur.com/a/f5Xg7 元々rubyで書いてあるプログラムなんですが、C#で移植しながら書こうとしています。
351 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:52:25.02 ID:IcOpWHLw.net] >>344 なんでそんな賽の河原の石積みみたいなことしてんの?
352 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:52:57.70 ID:k38CZIuV.net] paramsは可変長引数だからその例には適さないぞ
353 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 21:59:58.66 ID:HjSStS87.net] >>346 rubyだと def Initialize(params) @stock_code = params[:stock_code] @trade_type = params[:trade_type] な感じで実装されてたので、C♯でも可変長変数と名前付きで渡せるかなーって考えてました・・・ それが無理なら変数をまとめて型にするか、Dictionaryかなって感じです
354 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:04:11.24 ID:xV3zBIyo.net] なぜ素直にオーバーロードとかオプション引数&名前付き引数を使わないんだろう...
355 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:09:33.77 ID:nAoTSCTK.net] >>344 コンストラクタでTryParseとかはアレなんでFactory使う あと各データのできるタイミングやまとまりが違うものがフラットに混ざってるので DBの正規化的なアプローチで少しデータ構造を考えといたほうがいいかもね とりあえず移植したいだけなら型つくって移植して 後で困ってからリファクタリングしたのでもいいと思う
356 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:09:51.89 ID:vOYXlSBd.net] dynamicと匿名型使えば?
357 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:10:50.50 ID:BIiVnPJO.net] >>344 コンストラクタでは初期値だけ入れて、newする時にプロパティに代入するのが良いと思う。 var trade = new Trade() { stock_code = X, trace_type = Y, .... };
358 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:21:57.04 ID:HjSStS87.net] >>348 確かにそっちのが簡潔ですね・・・ 元々長いのと後々追加する時を想定して少しこの辺りいい方法無いかなって模索してたので >>349 Factoryは知りませんでした、調べてみます >>351 こういうやり方のがすっきりしてそうですね、見た目も分かりやすそうな感じがします ただsetはこれだとpublicですが、private運用のがいいのかとか考えていました。 プロパティ使って代入ってよくある使い方なのでしょうか?
359 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:25:06.53 ID:HjSStS87.net] >>350 これも使い方調べてみます
360 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:42:34.01 ID:HjSStS87.net] >>352 一先ず、プロパティのset使って運用しようかと思います 後々何かいい形に出来そうなら変更していこうかと思います 回答下さった皆様、ありがとうございました
361 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:49:09.22 ID:IKMu/QN7.net] パ
362 名前:宴=[タークラス作ってそれに全部値入れて渡せば? [] [ここ壊れてます]
363 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 22:51:27.14 ID:IKMu/QN7.net] object[]で渡すなんてバグの温床だよそんなもん 自分で呼び出すときと処理書くときに困るだけだ 初心者なら普通に関数書くほうがいい
364 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 23:04:27.54 ID:vOYXlSBd.net] 直接プロパティを設定するのはあまり良くないよ いつ外から書き換えられるかわからず、それに対応できるように作るのは無駄に手間がかかるしテストもクソ面倒になる 結局、いつでもプロパティを書き換えられるように見えるくせに初期化時以外に書き換えたら壊れる糞みたいなクラスが出来上がる
365 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 00:12:55.89 ID:UFvzWEfw.net] >>344 証券会社どこに対応?
366 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 01:11:24.64 ID:OkajuEzq.net] >>358 そういうのとは違うみたいよ https://books.google.co.jp/books?id=HOiNAwAAQBAJ&pg=PT87#v=onepage
367 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 06:59:39.45 ID:+o0BYr/j.net] >>359 なるほど
368 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 20:36:01.35 ID:dvJOAkmr.net] メソッドの戻り値がListで、その中身を可変にした定義がしたいのですができますか? インターフェースで List<Type> Select<Type>() と定義して 具象クラスで同じように定義、return List<string>(); とかやっても "List<string>をList<Type>に暗黙的に変換できません。"とエラーになってしまいました。
369 名前:デフォルトの名無しさん [2017/09/19(火) 20:38:26.15 ID:sbE0HbQy.net] linuxサーバーに好きな言語使ってwebアプリ作れって言われたら、言語何使う?
370 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 20:46:10.64 ID:HSXd4/vW.net] >>361 何言ってるのか分からないけど、自分で(メソッドの戻り値の型を)可変にしたいといいつつ、 List<string>という非ジェネリックな型を返すのは何なの? 意味がわからないよ
371 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 21:37:01.96 ID:oUqqEkrK.net] >>362 それをなぜここで聞く?
372 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 22:12:23.33 ID:ekU6MC2y.net] >>361 まずTypeじゃなくてT使うように メソッドのシグネチャーが List<T> Select<T>() なら実装は return new List<T>();
373 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:49:48.63 ID:WGzo2g/5.net] TabPageクラスを拡張してTabPageExクラスを作ったんですがTabControl.TabPages[index].Foo()を呼ぼうとしても呼べません どうやったら呼べるようになりますか?TabPageCollectionを派生したクラスを作らないとダメですか?
374 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 23:53:29.45 ID:3bAYaO8L.net] どうやっても呼べるようにはならないですよ
375 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 00:00:37.73 ID:pKHwkxOR.net] >>366 拡張した内容が分からない まず拡張したクラスでなく元のコントロールで呼び出していないか確認 その上で拡張した内容を張らないと誰もわからない
376 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 00:05:28.12 ID:pKHwkxOR.net] あ、TabControl.TabPages[index].Foo()の時点で元のコントロールだな それはだめだ
377 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 00:21:20.04 ID:OL4nI+z3.net] 失礼しました。拡張した内容ですが以下のとおりです タブブラウザを作りたいのでこういう風にしました TabPageクラスにGoBack、GoForwardメソッドを実装しそれをメインフォームのボタンから呼びたいのです そのためにはtabControlでどのタブが選択されているか取得しないといけないので苦労しているところなのです TabControl https://ideone.com/5QXD2p TabPage https://ideone.com/d9v3vu MainForm https://ideone.com/bByZtw
378 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 03:50:11.03 ID:OL4nI+z3.net] 無理なんですね、わかりました やりたいことは各TabPage上にWebBrowserがあるのですがその進む戻るボタンをToolStrip上に実装したいのです どうにか実装する方法ってないでしょうか?
379 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 06:47:27.86 ID:f7lGjoxP.net] グローバルフックの事
380 名前:学びたく、 http://d.hatena.ne.jp/myugaru/20071130/1196434749 にあるソースを実行したいと思います 新規でコンソールアプリのプロジェクトを作り Formを追加し ソースをネームスペース以外コピペして、エラー無くデバッグで立ち上がるも、コンソールとFromは出るものの、なんの反応もありません 「Visual Studio ホスティングプロセスを有効にする」を外せとのことですがVS2017Communityではその項目が見当たりません デバッグでなくビルドしたexeでも同様です どう改変したら動くようになりますでしょうか? よろしくお願いいたします [] [ここ壊れてます]
381 名前:デフォルトの名無しさん [2017/09/20(水) 09:28:35.33 ID:QOv/22JC.net] >>370 まあ単純には、 var tabex = TabControl1.TabPages[x] as TabPageEx; if (tabex != null) { ... } でもいいんじゃね
382 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 10:09:23.61 ID:QOv/22JC.net] >>374 普通に動いたわ 新規プロジェクト作成でWindows Formsアプリケーションを選択 Form1.csを削除 Program.csを開いて既存のコードは削除してからリンク先のコードをペースト F5 VSをアクティブにして出力ウィンドウにフォーカス移動して適当にキー入力するとmessage=KEYDOWNとか出力される VS2017はホスティングプロセスがなくなったっぽい ちなみにホスティングプロセスで動いてるかどうかは デバッグ実行中にタスクマネージャ開いて hoge.exeの代わりにhoge.vshost.exeが動いてるかどうかで判断できる
383 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:54:31.86 ID:EHoWpSXt.net] >>374 ありがとうございます できました