[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 12/05 09:01 / Filesize : 41 KB / Number-of Response : 217
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん [2013/11/28(木) 11:27:54.20 ]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
toro.2ch.net/test/read.cgi/tech/1383867970/

■関連スレ
C#, C♯, C#相談室 Part81
toro.2ch.net/test/read.cgi/tech/1381134494/

■コード貼るなら↓使ってください
ideone.com/

99 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:20:52.53 ]
intとDataRow型の宣言をしてforとifをブロックで書くとジャスト10行だけど煽ってコード書かせようってクチ?

100 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:22:17.13 ]
※ここの住人は「まず煽る」ことから始めるのでスルー能力を磨いてから書き込みましょう

101 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:24:28.37 ]
じゃあ俺はElementとElementsの違いに気づかない>>97を煽る

102 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:24:54.52 ]
いや87ででてるじゃん? まだ冗長だけど

103 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:27:09.40 ]
>>96
こういうコードたまに見るけど、もうなんというか
最も酷い

104 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:30:24.43 ]
ユーザーコントロールを継承したクラスAを更に継承したクラスBを
Formに動的に追加してクリックイベントを発生させたいのだけど
クラスBでクリックイベントが発生しません

大部分の機能は同じだけどクリックされたときの挙動を幾つか用意したいので
クラスB1、B2のように作っていこうと思っているんだけどどうすればいいですか?

105 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:30:37.05 ]
>>87はわざとお話にならないように書いたコードだぞ

106 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:32:34.62 ]
>>105
それ以外の書き方を知らない人間はそうやって道化を演じるしかないからな

107 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:42:05.55 ]
>>104
OnClick呼んでないとかイベントハンドラー登録してないとかそんな感じだろ



108 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 00:42:00.21 ]
>>84
DataRow[] rows = datatable.Select("xxx = ...");

じゃだめなの?
こういう意味じゃ無い?

109 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 00:42:19.02 ]
もしかして子コントロールのイベントはユーザーコントロールを継承したクラスAでしか取得できない?
クラスBで取得するにはコードでイベントハンドラを登録させるしかないのかな?

110 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 01:33:02.14 ]
なぜかコンストラクタが削除されてて
InitializeComponentメソッドが読まれてなかっただけだった
慣れない継承したからてっきり継承のせいだと思ってた

111 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 01:55:04.14 ]
あ、ちがった、やっぱり継承先では継承元の子コントロールのイベントは取得できないみたい

112 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 02:14:29.08 ]
コントロールAをこうすればいいでしょ
protected virtual void button1_Click(object sender, EventArgs e)
{
}

113 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 02:56:37.81 ]
それでいけました
あと、コントロールのmodifiersをProtectedにしてもできた
でも他のクラスから直接コントロールを操作できるようにするは作法としてよろしくないのかな
やっぱり>>112のように触ってもいいところだけ仮想メソッドなりで公開するのがいいのかな

114 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 06:03:19.27 ]
private void button1_Click(object sender, EventArgs e)
{
 this.OnButton1Click();
}

protected virtual void OnButton1Click()
{
}

こんな感じ

115 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:39:09.03 ]
>>99
どうやったら10行も必要なの?
int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]);

116 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:48:33.34 ]
公式に10行で云々ってページがあるからさw

117 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:55:46.23 ]
>>115
それ全件検索→配列作成→順次検索だからforで回すのの平均1.5倍かかるぞ
構文解析のコストとか無視しても



118 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:58:23.31 ]
ついでに言うと短くしたいのならパフォーマンスがいいのは.Select().FirstOrDefault()とか

119 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 10:03:28.82 ]
3倍だったわ

120 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:00:31.86 ]
C#er が速度なんて考えてるとはおもわなんだ!!!

121 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:23:39.21 ]
その程度の速度差が気になるならデータセットは使えないでしょうが

122 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:28:58.22 ]
速度無視しても>>115はありえない
全レコード該当した場合n要素の配列が2個必要だぞ

123 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:29:00.90 ]
前提条件が提示されていない中で
各々のポリシーに従って不毛な言いあいを続けるようなら
また両方にまぎれて煽りますよ
12時間くらい

124 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:29:32.23 ]
普通にforで回すのが最速だと思う

125 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:31:40.19 ]
今回はポリシー云々じゃなく万人が認めるべきアホなコードだから不毛じゃない

126 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:44:14.64 ]
ほう。
こんな表現もあったか。
データ件数が100件程度以内なら
int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]);
でいいなぁ。上にコメントでもつけてくれれば。

127 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:50:52.86 ]
自演



128 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:53:20.67 ]
filterExpressionが原因のバグが頻発しそう

129 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:02:42.61 ]
頻繁するかは分からないけどリスクはあるよね

130 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:39:36.83 ]
VBのほうが利用者多いんでしょ。
C#とVBに差がないんならC#を何で選ぶの?
C一族なの?

131 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:47:44.76 ]
VB6から抜け出せない人用だし、選ぶ積極的理由が無いよ

132 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:54:36.05 ]
利用者が多いってのは何の統計なんだね

133 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:58:13.95 ]
当方C一族でして

134 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 15:04:00.18 ]
リーナス・トーバルズ曰く

*YOU* are full of bullshit.
C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.

だいたいこれと同じ理由

135 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 16:40:56.88 ]
VBコードなんて見づらくて最初からやる気しなかったな

136 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 17:52:29.22 ]
スクリプトで遊び始めた頃にvbscriptを見るとなぜか吐き気を催したので
javascriptを選択してしまった流れで

137 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:14:32.16 ]
>>130
低レベルなコードも書きたいならC#
COMと相互運用したいならVB.NET
常識だろ



138 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:14:34.87 ]
C一族の者に御座る

139 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:16:20.04 ]
Dim Unko As String
string unko;
どっちが見やすいかな?

140 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 19:56:01.66 ]
vbはこれができるんだぜ
Dim number = 1, text = "hoge"

141 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 19:59:18.75 ]
だからどうしたというレベル

142 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:02:11.62 ]
ムムム
If 5 == 5 Then
Console.WriteLine();
End If

if (5 == 5)
Console.WriteLine();

どっちが見やすいんだよ?

143 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:10:15.18 ]
C#スレで聞いてどうする

144 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:33:46.18 ]
If 5 == 5 Then Console.WriteLine();

145 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:34:19.66 ]
まだ間違ってるぞ
If 5 = 5 Then Console.WriteLine()

146 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:44:30.76 ]
    l'''-、    .t―--、   .!¬、          > 、              r‐ ,          >-、     >、___
 .lヽ,,| il,,..、   ,ゝ--′   | | 、        / ./ t-、            ,,,  | レ''')      ! . ゝ、,. t,   >   `!
  ゙ヽ、 __,ノ   , -''',゙ ̄''、 <゙゙´ レ'',゙ ̄\ .l゙‐''"゛.,i、`'i lヽ   _,_._,,、 ヘ ̄ .,,..-',゙ _ ト‐'" .,i  l, l.ヽ / .厂 ̄゛
 / !/ ,l_r-,.´>、 ヽ,,./   | .l `フ  / ̄│ .l `-7 ./ .l .! .l l l'‐'゙/'''''''、.ヽ  / /ィニ二_,,,ノ ゝ7 ./ .l ! ゙l l .! !_.. - 、.
 ヽ、   ./゙l .l      l  ! /  !    } ! / ./ l /!││゙''"    .} | l゙ / ,,.'"゛    / ./  l l | |.l  ン"゙゙''、 ヽ
  .! l ̄ .,ノ |    ノ  ノ∠   !   ノ ノ / .iト,,ノ /  .゙''゙      / . l ,/ / ./.!  ._....、./ .,l ト,,/ /  .゙''゙ L./    /  }
  .ヽ `゙゛ . /  ._,,/_,/   .! l ∠‐"  |__/ ヽ ./       ._.. ‐,゙..-゙ ! / .l、.´   ,!| ./ l ./      . __,, / ,.ノ
    .`゙゙゙゙゙゛   `⌒       `゛         `´       .  ̄´   `"   `"'''''"゛    `゛      `゙'''''゙゙´

147 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 01:46:32.63 ]
VBって未だにサブルーチン呼び出しは括弧付けたら駄目っつー変態バカ仕様でやってんの?



148 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 02:10:49.67 ]
ListViewでListViewItem一個一個に
ユーザーデータを追加させたいのですが
(MFCのCListCtrlのSetItemData/GetItemDataみたいなやつ)
どのようにすればいいでしょうか?

149 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 06:47:01.04 ]
Tag

150 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:13:07.79 ]
ListViewを継承してお好きなプロパティでもなんでも持たす

151 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:13:48.83 ]
×ListViewを継承してお好きなプロパティでもなんでも持たす
○ListViewItemを継承してお好きなプロパティでもなんでも持たす

152 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:49:50.39 ]
コントロールは多くのプロパティをオーバライドできないのだけど
どういう設計思想なのこれは?

153 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 10:16:32.35 ]
いいから黙って書け

154 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 12:19:57.30 ]
>>152
.NetのComponentモデルの世界では
基本的にメソッド呼び出しやプロパティの読み書きは実行時に解決して呼び出す決まりで
ライブラリもそうなってるしユーザコードもそれに従わなくてはならない(まあ従わなくても動く事が多いが)
だからoverridesはなくshadowsを使えば良い

155 名前:デフォルトの名無しさん [2013/12/02(月) 12:45:21.71 ]
c#は最終的にはlinuxでも標準になるん?

156 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:53:00.15 ]
C#で小数点を扱う場合、doubleの方が良いのでしょうか?
単純な計算の繰り返しだけならfloatの方が若干早くなりますが、
doubleとfloatが混ざってキャストしたりすると遅くなるので、
計算式にもよると思うのですが、doubleで統一しておいた方が無難でしょうか?
よろしくお願いします。

157 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:56:04.19 ]
floatの利点は格納スペースが少なくてすむくらいかな



158 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:58:40.96 ]
floatとdoubleの比較ならまあdouble一択でいいだろ
decimalとの比較は用途次第

159 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 14:53:24.25 ]
>>157-158
ありがとうございます。
fを付け忘れたり、ただ割っただけですとdoubleにキャストしてしまいますので、
そこまで精度が必要で無くてもdoubleにて計算するようにします。

160 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 15:21:19.54 ]
>>147
call 書けよ

161 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 15:55:58.31 ]
>>149
ありがとう

162 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 20:42:14.83 ]
型 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました

これが大量に出るのを抑制する方法はありますか?

163 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:14:30.01 ]
vc2010を使っています

現在作成しているソリューションの一部を後々使いまわせるようにdll化したいと思っています
調べると別ソリューションを作成してクラスライブラリとして作成、コンパイルすればdllすることができるとあったので、別ソリューションで作成し、参照することも出来ました
ただ、今後の開発を考えると1つのウィンドウで作業していきたいのですが、異なるソリューションを同じウインドウで開発したり、
dllを参照している側でコンパイルするとdll側もコンパイルされるような設定はできますでしょうか?

別ウィンドウで作業し、dll側をコンパイル後、参照側をコンパイルすることしかできないのでしょうか

164 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:23:35.68 ]
>>163
ソリューションからプロジェクト追加

165 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:25:04.58 ]
依存関係の設定を忘れないように

166 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:35:06.49 ]
ありがとうございます

「既存のプロジェクト追加」でdll側のcsを追加し、「参照の追加」でdll側のソリューションの作成したdllを指定しています
しかし「既存のプロジェクト追加」で追加したcsを編集してもdll側のcsには反映されてないようで、ビルドした際にもdll側のビルドはされていないようです
依存関係というのが大切そうなので、調べてみたところソリューションのプロパティから「プロジェクト依存関係」まで辿り着いたのですが、
dll側のプロジェクトが表示されておらず、設定ができませんでした

なにか設定が足りないのでしょうか

167 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:39:22.88 ]
使いまわすだけならdllにしなくてもいいって疑問は無し?



168 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:50:36.50 ]
とりあえず参照の追加で指定するのはdllプロジェクトかな、普通は

169 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:04:10.35 ]
説明不足ですみません
もちろんdllを指定しています

>>167
他のアプリで使ったりと色々としたいことがあるので

170 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:17:00.61 ]
追加するのはdllじゃなくてプロジェクトだぞ

171 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:18:39.21 ]
もしかしてつかってるVSってEXPRESSか?
複数プロジェクトいけるEXPRESSっていつからだっけ

172 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:12:00.06 ]
ありがとうございます
EXPRESSを使っています

いろいろ試してみて
メニューバーのプロジェクトの「既存のプロジェクト追加」ではなくソリューションエクスプローバーでソリューションを選んで「追加」を選択すると
「プロジェクト依存関係」が設定できるようになり、使用側のビルトでdll側もビルドされるようになりました
この2つが別物だったんですね・・・

もう1つ教えてください
上記の過程でdll側を一度ソリューションから作りなおしたのですが、今度はdllを参照に指定してもusingの宣言で「usingもしくはアセンブラがないよ」と言われるようになってしまいました
オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態になっています
試しに別名のtestというソリューション名、class1と言うクラス名でdllを作ってみると無事参照されてしまいました
dllのnamespace、class名が怪しいのかと思って確認しましたが、統一されてました
「オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態」についてわかることはありませんか?

173 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:35:07.83 ]
すいません、自己解決しました
classにpublic付けてませんでした・・・
アホすぎわらえない

174 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:58:57.81 ]
>>173
m9

175 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 17:03:21.71 ]
>>173
どんまい

176 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 18:16:38.97 ]
まずソリューションとプロジェクトとDLLの区別付ける所から初めて下さい

177 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 19:48:28.78 ]
>>173
安心しろ。俺もはまったことがあるw



178 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:14:05.93 ]
だから全部publicにしろって言ったんだ。

179 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:18:32.34 ]
全部グローバル

180 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:26:05.45 ]
全部スタティック

181 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:38:07.94 ]
全部下請け

182 名前:デフォルトの名無しさん [2013/12/03(火) 21:37:39.54 ]
デバッグなしで実行とデバッグありで実行って
挙動としては何が違うんですか?

183 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 21:47:20.68 ]
デバッグするかしないか

184 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 21:49:14.97 ]
デバッガの子になるかならないか

185 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 23:33:53.23 ]
アクセス修飾子の最適化問題はNP困難な割にやったところで大したメリットが無いから
解こうとしないほうが良い

186 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 23:44:24.00 ]
アクセシビリティのエラーとか忘れること多いわ

187 名前:デフォルトの名無しさん [2013/12/04(水) 00:03:07.88 ]
Windows フォーム アプリケーション で、チェックボックスを使って
5つの選択肢の中から1つしか選択できないようにする方法ってありますか??
例えば、二つ目を選択しようとしたら、前に選択したチェックボックスのチェックは
ちゃんと消える、みたいな…
要するにアンケートみたいなものを作りたいんです

なんかわかりにくくてすみません



188 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:14:34.11 ]
>>187
そういうケースではCheckBoxじゃなくてRadioButtonを使うのがWindowsのルールですよ

189 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:20:20.46 ]
>>187
釣りだろ
ラジオボタン以外ありえんだろ

190 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:22:49.05 ]
なんでも釣り釣りって

191 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:25:47.81 ]
ラジオボタンはHTMLでもWindowsでもそのほかでも当たり前のように存在してるけど
あれをラジオのボタンと言われてもピンと来ないな

192 名前:デフォルトの名無しさん [2013/12/04(水) 00:26:05.27 ]
ラジオボタンでしたか すみません
ラジオボタンにした場合、どうしたらよいのでしょうか??

193 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:28:58.22 ]
同じフォーム、同じパネル、同じグループボックスに放り込めば勝手に排他される

194 名前:デフォルトの名無しさん [2013/12/04(水) 00:33:01.13 ]
>>193
ありがとうございます!!調べてみたらいけそうです!!

195 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:33:50.24 ]
そういやCheckBoxの中間のやつってどうするの
trueでもfalseでもないやつ
CheckBox.Checkedってnull非許容型だよね?

196 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:38:02.50 ]
CheckState.Indeterminateだろ

197 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:39:25.09 ]
そんなのあったんか
サンクス



198 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 08:40:56.70 ]
staticクラス使えるのに未だにシングルトン使うやつがうざい

199 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 11:56:18.46 ]
SplitContainerとかTableLayoutPanel使って、Anchor設定するとサイズが自動でグリグリ動いて気持ちいいんだけど、
ボタンとか配置した時に思うように動かないから、怖くて使えねぇ;;
みんなは使いこなしてるの?

200 名前:デフォルトの名無しさん [2013/12/04(水) 13:46:18.31 ]
C#でプログラミングしていて凄い発見をした。すべてstaticメソッドにするとアホみたいに捗る。
engawa.2ch.net/test/read.cgi/poverty/1386083303/

201 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 15:50:10.28 ]
>>198
起動即初期化だから、staticクラスが使えない場合も少なくない

202 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 16:47:41.87 ]
staticコンストラクタが動くのは、
初めて型にアクセスしたときだったような

203 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 18:01:12.07 ]
>>201
それをお前に教えた奴つれて来いよ
膾にしてやる

204 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 18:13:29.76 ]
www.microsoft.com/en-us/download/confirmation.aspx?id=7029
C# Language Specification 5.0

10.12 static constructors (P713-714)
The execution of a static constructor is triggered by
the first of the following events to occur within an application domain:
* An instance of the class type is created.
* Any of the static members of the class type are referenced.

205 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:20:47.71 ]
ジェネリック型のstaticメンバーをどうやって起動時に初期化すると思ったんだろうか

206 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:31:49.46 ]
まったく関係ない話だが、VBはインスタンスフィールドをインスタンスメンバーで
初期化できるんだよね。

安全性を考えればC#の仕様の方が妥当なんだろうけど、時々この機能があったらと思うときがある。

207 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:32:49.44 ]
上の初期化ってのは宣言と同時の初期化のことね。



208 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 20:03:43.93 ]
そんなことよりoption引数の初期値にメンバ指定させろ

209 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 22:45:59.86 ]
globalの使い道がわからん

210 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 22:51:15.22 ]
名前が被らないようにするためにglobal::System.Consoleのようにして使う
基本的にコード自動生成ツールを作るときに念のため使うもので、普通は要らない

211 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 23:53:30.21 ]
なるほど
普通は使わんな

212 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 00:12:54.30 ]
無理やり必要にしてみる・・・
namespace Foo {
 class System {
  public const int Console = 0;
 }
 class Hello {
  const int Console = 7;
  static void Main() {
   global::System.Console.WriteLine("Hello");
   //System.Console.WriteLine("Hello"); // error
  }
 }
}

extern aliasと並んで使わない機能の2トップ

213 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 00:48:44.33 ]
extern aliasはどうしても同じライブラリの別バージョンを使わないと仕方がない場合に神
一番意識して使うことが少ないのはpartial methodだろ

214 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 06:42:21.15 ]
partialメソッドはカスタムツール作らなきゃ定義する必要がないし
T4のおかげで敷居は下がったのかな?

215 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 08:56:43.65 ]
適当にHttpListener使って簡単な串作ろうとしたんだけど、
アドレスのホスト名がIPになるとListenerが受け付けてくれない。
具体的には、例えば google.co.jp/ は受け付けるけど、
同じくグーグルのアドレス 74.125.235.87/ になると Bad Request (Invalid Hostname)
なんだけど、これは仕様なのかやり方が悪いのか回避方法があるのか分からないので教えてくだしあ
ideone.com/XKLFdF

216 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 08:58:14.86 ]
管理者権限が必要よ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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