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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2012/08/05(日) 16:29:24.19 ]
このスレッドは
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

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

関連スレ
ふらっとVisual C#,C♯,C#(初心者用) Part95
toro.2ch.net/test/read.cgi/tech/1340975670/
C#, C♯, C#相談室 Part74
toro.2ch.net/test/read.cgi/tech/1342241550/

89 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 11:42:42.31 ]
終了まで短時間で解放をOSに任せるというならともかく、
Form1のメンバにIDisposableがあっても自動では呼んでくれないし
Application.Run中に例外が出たらf.Dispose();すら呼ばれない
usingも知らないのに安易なレスしちゃ駄目だよ

90 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 11:54:49.82 ]
ん?おれはコントロールのDisposeはControlsの要素にも再帰的に呼ばれるって習ったけど?

91 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:03:11.17 ]
FileStreamなんかもControlsに突っ込む勢いか

92 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:13:47.92 ]
さすがにFile関係は必要なとこメモリに読み込んだらすぐ閉じるでしょ
今はControlが生きてる間は保持しておかなきゃいけないリソースをどうするかが問題


93 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:19:54.41 ]
まさに初心者スレ

94 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:37:29.22 ]
Dispose呼ばれるタイミングとか考えないといけないし
disposingとかもなんのために在るのか分からないし大変
C#難しすぎる
C++のがコード見たまま理解できるからわかりやすいね

95 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:43:58.27 ]
スレに常駐している初心者だけど、面倒ならusing使えじゃダメなの?

96 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 12:51:16.10 ]
FormはClose=Dispose
閉じれば全ては終了

97 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:06:31.28 ]
↓これでいいですか?

class Program {
[STAThread] static void Main () {
using (Form form = new FormEx ()) {
Application.Run (form);
}
}
}

class FormEx : Form {
Font font = null;
public FormEx() {
font = new Font("Times New Roman", 24, FontStyle.Regular);
try {
Controls.Add(new Label() { Font = font, Text = "Hello, world!", AutoSize = true });
}
catch {
font.Dispose();
font = null;
throw;
}
}
protected override void Dispose(bool disposing) {
if (font != null) {
font.Dispose();
font = null;
}
base.Dispose(disposing);
}
}



98 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:22:35.57 ]
>>96
違うわw
マジでこの嘘誰が広めたんだよ

99 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:28:05.34 ]
>>90
Form2つでFont共有してるときに片方Disposeするとどうなりますか?
あなたがこのスレで一番頭脳明晰とお見受けしました
どうか教えて下さい

100 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 13:42:01.88 ]
>>99
クラッシュします

101 名前:デフォルトの名無しさん [2012/08/09(木) 13:45:37.57 ]
というかC#は習うもんじゃないだろ
C/C++とかは習うのもいいだろうけどC#くらいは独学でできなきゃ・・・

102 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 15:13:23.60 ]
Disposeしても使用メモリが増え続けるんだよなぁ

103 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 15:35:31.45 ]
そんな時のGC.Collectですよ

104 名前:デフォルトの名無しさん [2012/08/09(木) 16:45:24.42 ]
webbrowserコントロールでフォームにIEを埋め込んでwebサイト表示。
ここで表示したアクセスのログは、
ノーマルIEの「履歴」から見た際、
実行環境のOSやIEのバージョンによって、残ったり残ってなかったりするようですが、
「必ず残す」あるいは「必ず残さない」といった任意の指定をする方法はありますか?

105 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 17:46:57.53 ]
WebBrowserクラスって、需要は多い割に.NETの機能の中では自在に使いこなすのが最も難しい部類よね

106 名前:デフォルトの名無しさん [2012/08/09(木) 18:28:00.18 ]
GCマンセーかと思ってたのに、ちまちまオブジェクトの解放を意識せんといかんて、結局今までどおりC++のが楽でいいわ

107 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 18:45:00.36 ]
理想に裏切られると無性に腹立つよね〜



108 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 18:59:24.85 ]
DisposeしたもGC可能な状態になるだけでメモリ使用量は減らないんじゃない?
問題はGCのタイミングだけど具体的にはいつ発動するの?

109 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:00:20.44 ]
付け焼刃でいいからちょっとは検索してから喋れよな

110 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:04:08.01 ]
管理外(ネイティブのとか)リソースを解放するのがDisposeの目的だから、
ちゃんと作ってあるものならDispose呼んだ時点でメモリ使用料減るよ。

111 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:14:05.04 ]
そもそもメモリを開放するなんてどこに書いてあるのか
msdn.microsoft.com/ja-jp/library/fs2xkftw%28v=vs.80%29.aspx

Disposeで行われるのはDisposeの中に書いてあることだけで
暗黙的にゴミ箱にオブジェクトを置いたりとかしないよ

112 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:17:09.27 ]
>>110
じゃあマネージドなリソースは結局GCで解放されるってこと?

113 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:20:00.90 ]
ネイティブで確保したメモリならそうだけど
>>102の言ってるメモリはマネージドの方じゃね

マネージドのメモリはDisposeしたところで
GC可能になるわけもなく、解放されないから
参照を持ち続けてるなら当然使用メモリは増えていく

114 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:20:45.75 ]
>>113>>110

115 名前:デフォルトの名無しさん [2012/08/09(木) 19:24:54.89 ]
     l-l   ,-、,-、
   / ̄  ̄\   \
  l  iillllllllllllii l l;;;;;l l;;l
  l  llllllllllllllll  l l;;;;;l l;l
  `、 ``´´  /  l;;;;l ll
   `l ̄ ̄ ̄l  ll l/ /丶
      l    l  ノノ l l  l ̄─、
   /\_∠ノノ l´l l l    `l    ____
   (      l  l` 、 l ll ,─、l   /     \    ゴチャゴチャうっせーよ
  /  ___」  l_ノ l  l丶、_/ /   ⌒  ⌒ \   うちころすぞ
  (     ̄ ̄l    _」__⊥、/ /    (●)  (●) \
  )       `-─ ̄  l´ )  |   、" ゙)(__人__)"  )    ___________
  (   ─_____-─´、  \      。` ⌒゚:j´ ,/ j゙ ̄ ̄| | |             |
  `l             l `) /          \  |__| | |             |
   l  ─_____ニ ̄ ̄              \n||  | |             |
   丶_         l ̄)              r.  ( こ) | |             |
      ─____─ ̄ l                 |\ (⊆ソ .|_|___________|
        `、 l     l /          ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_
         丶l___」/



116 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:29:14.04 ]
当ててみろ ハワイへご招待するぜ

117 名前:デフォルトの名無しさん [2012/08/09(木) 19:30:32.59 ]
──────────────────────────────────────────────
  / ̄ ̄ ̄ヽ_    / ̄ ̄ ̄ヽ_      / ̄ ̄ ̄ヽ_ ̄ ̄ヽ_´ ̄ヽ_.    ∠ ̄ ̄ ̄\      / ̄ ̄ ̄ヽ_ 
 _/  /\ノ\) . _/  /\ノ\)     _/  /\ノ\)、ノ\)、ノ\)   ∠       ヽ.    _/  /\ノ\) 
/  // ッ  ッヽヽ /  // ッ  ッヽヽ  ./  // ッ  ッヽヽ ッヽヽ ッヽヽ   /  ̄ ̄ヽ、   i   /  / ヽ  /  ヽ
|  |  (・) (・)  | . |  |  (・) (・)  |   |  |  (・) (・)  | (・)  | (・)  | .  |  ^    ヽ   !   |  |  (・) (・)  |
| C    ゝ   .! .| C    ゝ   .!   | C    ゝ   .!ゝ   .!ゝ   .!   |  、^ ^ |  i.  | C    ゝ   .!
ヽ_フ  ー‐  / .ヽ_フ  ー‐  /   ヽ_フ  ー‐  /ー‐  /ー‐  / .  ヽ  )>   つノ .   ヽ_フ   Д  / 
    `ー──´   .    `ー──´.        `ー──´`──´`──´     `ー──´         `ー──´  
──────────────────────────────────────────────
     ドン         ドン           ド    ド   ドン       ハァイ          イクラ!



118 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:39:26.70 ]
>>112
ほんとに誰も参照してないならね。

GC持ってる言語におけるメモリリークってのは、
どこか意図しないところで参照を持ち続けてしまって、いつまでたってもGC対象にならないオブジェクトを作ってしまうこと。

119 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 19:41:58.82 ]
GC → 不要になったマネージメモリを解放
Dispose → マネージメモリ以外のリソースを解放
Finalize(GC)経由でDispose → Dispose呼び忘れの被害を軽減するためのバカ対策

120 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:04:00.04 ]
Disposeは直接呼ばずにusingでまとめて呼ぶか、try-finallyすること

ideone.com/PBbU9

[NG]
void Dispose(){
  a.Dispose();
  b.Dispose(); //a.Disposeが例外投げたらリーク
}
[OK]
void Dispose(){
  using(a)
  using(b)
  {}
}
[OK]
void Dispose(){
  try{a.Dispose();}finally{
  try{b.Dispose();}finally{
  }
  }
}

※ { using(a){} using(b){} } とusingを分けるとNG

121 名前:デフォルトの名無しさん [2012/08/09(木) 20:31:41.58 ]
比較的涼しいのにどうしたんだ

122 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:38:11.66 ]
>>120
アホな心配する前にnullチェックしろよ

123 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:50:19.44 ]
>>39
識別子に半角括弧は使えないよ。
そもそも、関数だとわけわからんことになるだろ。(w

>>41-42
おお、ボタン群か…、>>46 が言うようにちょっと重いけどいいかも。

>>43
ボタンは単なる例だよ、それぐらい読み取れるようになろうよ…

>>45
VB の配列とかだと、ボタン(複数)(ボタン番号) とかなってしまう (w


124 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:51:41.77 ]
クソども(複数形)

125 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:54:23.00 ]
例えば複数形で、lineをlinesとするなら
単数形はlineじゃなくてalineにしなきゃおかしくね?

126 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:59:08.59 ]
自分では絶対に日本語識別子使わんからどうでもいいけど、「〜〜のリスト」でいいだろ

127 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 20:59:50.54 ]
>>125
英語という自然言語そのものに文句言ってくれ。



128 名前:デフォルトの名無しさん [2012/08/09(木) 21:22:38.71 ]
>>127

         ●●                        ●●
     ● ●   ●                     ●   ● ●           /   \
    ●  ●   ●                     ●   ●   ●        /      \
   ●     ●●                        ●●     ●
  ●                                         ●      _____
  ●                                          ●            /
 ●                 ●●●●●●                 ●         / /
 ●                 ●      ●                 ●        /
 ●                 ●      ●                 ●       ./
 ●                 ●       ●                 ●
 ●                 ●       ●                 ●     / ̄ ̄\
 ●                ●        ●                 ●     |      |
  ●               ●         ●                ●      \    /
  ●              ●         ●               ●          /
   ●             ●          ●              ●           |
    ●           ●●●●●●●●●             ●
     ●          ●           ●            ●            ○

129 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 21:25:12.40 ]
いくつかの辞書でしらべてみたが、alineは動詞しかないようだが

130 名前:デフォルトの名無しさん [2012/08/09(木) 21:30:44.23 ]
>>129

         ●●                        ●●
     ● ●   ●                     ●   ● ●           /   \
    ●  ●   ●                     ●   ●   ●        /      \
   ●     ●●                        ●●     ●
  ●                                         ●      _____
  ●                                          ●            /
 ●                 ●●●●●●                 ●         / /
 ●                 ●      ●                 ●        /
 ●                 ●      ●                 ●       ./
 ●                 ●       ●                 ●
 ●                 ●       ●                 ●     / ̄ ̄\
 ●                ●        ●                 ●     |      |
  ●               ●         ●                ●      \    /
  ●              ●         ●               ●          /
   ●             ●          ●              ●           |
    ●           ●●●●●●●●●             ●
     ●          ●           ●            ●            ○

131 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 21:58:43.43 ]
Disposeが例外投げる仕様ってどうなんだ?
C++使いからすると吐き気がするんだが

132 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:02:13.81 ]
何のDisposeの話?
Disposeはインターフェースのメソッドで例外投げるかどうかは実装によるから何ともいえないよ

133 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:06:00.59 ]
>>131
データベースのセッション閉じるときとかに、どうしても欲しくなるときがあるっぽいけども。

C# のusingだとDispose時の例外拾えないけど、
Javaのtry-with-resources構文なら拾えるぜってJava方面の人が喜んでた。

134 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:07:51.05 ]
多分その用途だとFinalizeとして考えるよりPythonのContextみたいのを考えるべきかもね
Javaはそっちに近いだろう

135 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:11:48.37 ]
そもそもDisposeの例外発生を考慮して書く
というのもいかがなものか
例外出しちゃう実装がヘボイという事では?

136 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:17:39.97 ]
>>122
>nullチェックしろよ
何のために?
ideone.com/4NEDa

137 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:34:13.27 ]
Close事前に呼んどいたらいいじゃん



138 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:34:55.05 ]
自分でDispose書くときは例外を外に出さないようにするけど
よそのライブラリとかのDisposeからは例外が飛んでくる可能性があるものとして扱ってる

MSが「Disposeから例外をスローしてはいけません」って断言してくれと良いんだけど
少なくとも.NET1.1の頃は
msdn.microsoft.com/ja-jp/library/cc406710(v=vs.71).aspx
>場合は、 Dispose は例外をスローできます。
なんて書いてある

2.0以降はこの文が無くなってるけど「常にスローしない」かどうかは
説明の歯切れが悪い

139 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:35:19.67 ]
>>136
どあほう
ideone.com/Z1ePs

140 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:40:54.67 ]
using使えよアホ

141 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:43:02.46 ]
>>120に言え

142 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:47:00.61 ]
てかみんなどうやってリソース関係のコード書いてるんだ
class Hoge {
IDisposable manA; // マネージド
IDisposable manB; // マネージド
IDisposable unmanA; // アンマネージド
IDisposable unmanB; // アンマネージド
/* ry */
}
ちょっとだれか/* ry */を埋めて完璧なコード書いてくれ
すべてのリソースはコンストラクタで確保する前提で

143 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:57:52.82 ]
IDisposableの時点でアンマネージドとは言い難い気がする

144 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:58:58.24 ]
Disposeで例外スローするゴミ実装なんてやるなよ

>>142
アンマネージ リソースをクリーンアップするための Finalize および Dispose の実装
msdn.microsoft.com/ja-jp/library/b1yfkh5e%28v=vs.80%29
Dispose メソッドの実装
msdn.microsoft.com/ja-jp/library/fs2xkftw%28v=vs.80%29

145 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 22:59:41.38 ]
前提として、IDisposable=アンマネージド用
msdn.microsoft.com/ja-jp/library/system.idisposable.dispose(v=vs.110).aspx

.netでマネージリソースと言えるのはGC管理のメモリだけ

>>143
もしかして:マネージド

146 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:05:28.92 ]
>>144
TransactionScopeの悪口は止めろ

147 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:26:08.41 ]
int* a,b
だと
普通のC言語だと
bは普通のint型変数になるけど
C#で
int* a,b
って書いた場合は
bもポインター型になるのか

unsafeなんてめったに使わないからうっかり間違うことはないか



148 名前:デフォルトの名無しさん [2012/08/09(木) 23:27:51.95 ]
>>147
C#はそもそも同じ型しか同時に宣言できないだろ
Cの宣言は混乱の元だよ
そんな糞宣言できるようにしてるからポインターで悩むやつがいるんだ

149 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:34:00.13 ]
Cのポインタ関連の記述はほんと見づらいね
ポインタの概念はわかるけどCのポインタはもうすっかりわからん

150 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:40:27.69 ]
問題はDisposeを誰が呼ぶか。
考えてみれば当然だが落とし穴。
// NG i=1600で落ちた。
for (int i = 0; i < 10000; i++){
this.button1.BackgroundImage = Image.FromFile("〜");
}
// OK 余裕で完走
for (int i = 0; i < 10000; i++){
var image = this.button1.BackgroundImage;
this.button1.BackgroundImage = Image.FromFile("〜");
image.Dispose();
}


151 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 23:45:59.59 ]
ちなみにNGの方、GC.Collect()入れても結果変わんなかった。
何で?

152 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 00:08:14.19 ]
GC.Collect()の後にGC.WaitForPendingFinalizers()を入れてみたら?

それでも変わらないならImage.FromFileから返るオブジェクトに
FinalizeからDispose呼ぶ処理が書かれてないんだろうね
書くのは必須では無いし

153 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 02:47:17.55 ]
これだ!ありがとう。
でもOutOfMemoryが発生する前に自動でこれをやってくれたらいいのに。
Dispose呼んでないけど参照は解放したわけだし。

154 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 06:13:08.62 ]
>>126
pubic Button [] ボタンのリスト; // ← 配列なのにリストって馬鹿の極み、そもそも今時実装を意識させる命名なんてありえない。

155 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 06:33:39.94 ]
自動でやってくれないし、ほっといたらGCがいつ走るかわからんから
なるべくDisposeで自分で開放しましょう、ってことになってるんだろ

156 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 06:41:18.72 ]
IList<T>はインターフェイスであって実装ではないけど
つーか実装の隠蔽を主張するならまず配列を止めろ

157 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 07:03:22.39 ]
>>156
>>125 は、( 配列とかリストとかの実装に関係なく複数の奴は ) 「〜〜のリスト」でいいだろ
と言う主張だと思うんだが、理解してないのか?



158 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 07:16:48.71 ]
>>157
>>125は知らんが>>126は違うぞ
俺が書いたから分かる
最初はリスト/コレクション/シーケンスって書いてあったけど長いから削ったんだよ

159 名前:157 mailto:sage [2012/08/10(金) 07:33:34.17 ]
>>158
すまん、レス番間違えてたな。

> 最初はリスト/コレクション/シーケンスって書いてあったけど長いから削ったんだよ

だから、そういう実装方法を名前に入れるのがおかしいと言ってるんだよ。
最初リストで作ってて途中でコレクションに変えたら、名前まで変えるのか?

160 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 07:48:54.46 ]
今更昨日のショボイネタを掘り返さんでもよかろうに

161 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 08:28:45.39 ]
>>156 に言ってくれよ。

162 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 09:18:37.08 ]
>>126!=>>156=>>158

163 名前:デフォルトの名無しさん [2012/08/10(金) 11:51:05.51 ]
ベトナム人に突っ込まれる韓国人
pds.exblog.jp/pds/1/200907/01/01/c0072801_18433979.jpg

164 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 11:55:26.24 ]
ネトウヨきもっ、まで読んだ。

165 名前:デフォルトの名無しさん [2012/08/10(金) 11:56:19.36 ]
最後まで読んだ
さすが姦酷人

166 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 14:15:14.96 ]
日本語表現のリストってのはもっと広い意味を持つ単語だとは思うが
まあ特定のクラスを思い浮かべる人がいるから避けといた方が良いってことが実証されたじゃないか


167 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 16:51:48.47 ]
韓国大統領の竹島上陸はムカついた



168 名前:デフォルトの名無しさん [2012/08/10(金) 16:53:54.98 ]
質問があります
C#を勉強して半年ほどになりますが、アクセサを未だに使ったことがありません。
ウェブや書籍で勉強しているのですが、いまいちピンときません。
アクセサといったりプロパティといったり構造体といったり定義もいまいちはっきりしません。
現在利用している機能でアクセサに近いのかな?と思うものはリソースや設定ファイルだと思うのですが。
アクセサを使う利点、必要性を例えを交えて教えて頂けないでしょうか。

169 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 16:58:39.64 ]
使う側がget,setって書かなくて済む
それだけ

170 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 17:08:05.78 ]
>アクセサといったりプロパティといったり構造体といったり

構造体とはいわねえよw

171 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 17:29:56.80 ]
>>168
> 現在利用している機能でアクセサに近いのかな?と思うものはリソースや設定ファイルだと思うのですが。

いったいどんなウェブや書籍をみたらそんな考えに到達するんだ?

172 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 17:57:00.72 ]
構造体が出てきたのは
構造体の「フィールド」を「アクセサ」とか「プロパティ」と誤解しているのでしょう

173 名前:デフォルトの名無しさん [2012/08/10(金) 18:11:55.58 ]
wwwwwwwwwwwwwwwwwwwwwwwww

174 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 18:14:30.03 ]
struct B{ ← 構造体
  public String Value { ←プロパティ
    get{...} ←アクセサ
    set{...} ←アクセサ
  }
  public String Value2; ←フィールド(メンバ変数)
}

175 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 18:17:22.81 ]
C#でアクセサといった場合、一般に指しているのはsetアクセサとgetアクセサ

GetXXX、SetXXXはアクセサメソッドと呼ばれ区別されがち

176 名前:デフォルトの名無しさん [2012/08/10(金) 18:23:44.14 ]
汗くさそうなスレですね

177 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 18:36:28.83 ]
フォームをレイヤードウインドウにして、時計を表示させたいんですが
override OnPaintに時計表示のコードを書いても表示されません。
どこを改善すればいいでしょうか?

レイヤードウインドウ関連の部分はコピペ丸出しで申し訳ないです・・・
ttp://ideone.com/jOjVD



178 名前:デフォルトの名無しさん [2012/08/10(金) 18:42:26.83 ]
>>177
てめぇの頭。

179 名前:デフォルトの名無しさん [2012/08/10(金) 18:47:04.53 ]
思ったように動かなくてもいいんだがせめて動かないというのがポトペタすれば
再現できるコードにして出してくれ

いろいろ足りないみたいだし再現する状態にもっていくのに手間がかかるって

180 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 18:49:25.50 ]
private void timer1_Tick(object sender, EventArgs e)
{
  this.Invalidate();
  this.Update();
}

181 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 19:47:34.27 ]
C++で書いたコードを再利用するにはどうすればいいんですか?
DLLにして使うんですか?

182 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 19:49:42.10 ]
>>179
すみません、プロジェクトごとアップしてみました。
ttp://www1.axfc.net/uploader/Sc/so/369163

>>180
this.Update();を追加してみましたが時計は表示されませんでした。

183 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 19:59:04.08 ]
>>181
DLLにしてP/Invoke

184 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 20:24:14.41 ]
>>183
ありがとうございます

185 名前:デフォルトの名無しさん [2012/08/10(金) 20:41:57.99 ]
        _人人人人人人人人人人人人人人人_
        >     ゆっくりしていってね!!!  <
         ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
       ,..--‐‐‐‐‐‐‐‐---..          ..--‐‐‐‐‐‐‐‐---..,
     /::::ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)        (;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::\
     |::::::::::/        ヽヽ       //        ヽ::::::::::|
    .|::::::::::ヽ ........    ..... |:|     . // .....    ........ /::::::::::::|
     |::::::::/     )  (.  .||      ||   .)  (     \::::::::|
    i⌒ヽ;;|.  -=・=‐  .‐・=-.|      .|.-=・‐.  ‐=・=-  |;;/⌒i
    |.(    'ー-‐'  ヽ. ー' |      .| 'ー .ノ  'ー-‐'    ).|
    ヽ.      /(_,、_,)ヽ  |       |  ノ(、_,、_)\      ノ
    ._|.    /  ___   .|.      .|   ___  \    |_
  _/:|ヽ     ノエェェエ>  |       |  くェェュュゝ     /|:\_
  :::::::::::::ヽヽ     ー--‐  /        ヽ  ー--‐     //:::::::::::::
  ::::::::::::::::ヽ \  ___/          /\___  / /:::::::::::::::

186 名前:デフォルトの名無しさん [2012/08/10(金) 21:07:30.31 ]
ゆっくりできるか

187 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 22:09:28.63 ]
うん



188 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 22:12:16.95 ]
きばっていこ〜

189 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 22:25:31.63 ]
>>182
そもそも
protected override void OnPaint(PaintEventArgs e)

これは呼ばれてないみたいだぞ

MessageBox.Show("hoge");

ってメソッド始まってすぐに置いたけど表示すらしねえ
こっちをみると使わないポイし
amonution.sblo.jp/article/44207753.html






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

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

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