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


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

C#, C♯, C#相談室 Part60



1 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:17:20 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part59
pc12.2ch.net/test/read.cgi/tech/1274019232/

Visual C# 2010 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>1-5くらい


260 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:58:33 ]
add/removeしたら別オブジェクト
a += b;は
TDelegate c = (TDelegate)Delegate.Combine(a, b)
a = c;
の略で、このとき
Object.ReferenceEquals(a, c)もObject.ReferenceEquals(b, c)もfalse

261 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:59:26 ]
君は
var objA = new object();
var objB = objA;

この時どうなると思ってんだ?
ちゃんとポインタ(厳密には違うけど)はコピーされてるんだぞ

262 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:59:42 ]
ならないの。デリゲートはStringと似たつくりになっていて、一度作成したインスタンスは変更できない。
イベントの実装はこうなってる
private EventHandler _Created;
public event EventHandler Created {
[MethodImpl(MethodImplOptions.Synchronized)] add { _Created = (EventHandler)Delegate.Combine(_Created, value); }
[MethodImpl(MethodImplOptions.Synchronized)] remove { _Created = (EventHandler)Delegate.Remove(_Created, value); }
}

[MethodImpl(MethodImplOptions.Synchronized)]のおかげでaddアクセサとremoveアクセサの呼び出しもスレッドセーフ。

263 名前:253,254,259(261は別人) mailto:sage [2010/07/04(日) 17:27:30 ]
>>260,>>262
解説ありがとう。
参照型だけど毎回インスタンスが生成されるクラスなんですね。
理解しました。


264 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 17:39:38 ]
何読んだらそう言うのがわかるようになるの?

265 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 18:47:37 ]
>>255
> null比較がスレッドセーフではないから
そういう話じゃないような

266 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 19:01:53 ]
>>265
うん、間違えたw

267 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 22:59:50 ]
あほか。nullはスレッドセーフだわ、ボケ。

268 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 01:22:17 ]
えっ?



269 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 01:44:53 ]
>>244
実はECMAの仕様ではスレッドセーフではなかったり。


270 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 03:05:16 ]
完全なスレッドセーフなど存在しない

271 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 03:07:36 ]
しかしlockを何個も書くのはかっこ悪いしめんどいんだが
このオブジェクトは最初から排他仕様だからよろしくみたいなことは出来ないのか?

272 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 10:20:28 ]
比較自体はスレッドセーフじゃないからあながち間違いではないけどな

273 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 13:46:46 ]
は?

274 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 14:22:32 ]
>>272
だよな 間違ってないよな
さすがだな

275 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:20:35 ]
え?
obj = nullは常にスレッドセーフだよ?
あと
obj = 0とobj = falseもさ
大丈夫?あぁネタかw

276 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:24:40 ]
ほ?

277 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:27:47 ]
それがどうであるかと>>244がなぜスレッドセーフなのかはまるで関係ないよね。

278 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:57:15 ]
>>275
obj = ""が抜けてるよ♪



279 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:54:43 ]
>>277
>>244がスレッドセーフであることの前提条件ではあるだろ

280 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:39:11 ]
C#でDllMainって使うにはどうしたらいいかわかるひといる?

281 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:45:48 ]
うん

282 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:49:24 ]
>>281
マジで知ってるなら教えて下さいm(_ _)m

283 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 01:45:26 ]
>>282
COMコンポーネントあたりでぐぐってみるといいよ
サムネイル表示するのをWindows7に移植しようとC#で作ってみたが
その時にそんな感じのことをした気がする
結局動かなくてテストに毎回再起動するのがまんどいので放置してるが

284 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 02:58:32 ]
>>279
いや、そんなことないが。落ち着け。

285 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:03:12 ]
とまぁ、えらそうに申しておりますが、俺も>>248 >>262で初めて知り、
>>265のツッコミをした程度のへっぽこです。
知らなかったらlockステートメント使ってたと思う。

286 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:30:32 ]
んなこたあどうでもいいから>>282に教えて上げなさい

287 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:39:33 ]
質問が曖昧すぎて回答できません

288 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:43:35 ]
とりあえずクラスライブラリとかDllImportとか曖昧回答して上げなさい



289 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:46:10 ]
ぐぐったら少ないけど情報出てくるね。

290 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 10:41:53 ]
デッドロックの恐れがあるからCLR2.0以降では禁止されているという話らしいよ

291 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 12:48:59 ]
約束は破るためにあるっちゅうことやな

292 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 13:06:04 ]
ところでこいつを見て欲しい。どう思う?
ttp://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_22/extremecs_22_02.html
Observerの変形と言えなくもない気がするが、状態オブジェクトが焼け太りしそうな悪寒。
実際んとこ、コレどんな場面で有効だと思う?

293 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 13:31:43 ]
Observerとかいう次元じゃなくてアプリケーション全体の構造の話でしょ
ステートが絶対に変化しないならいいんじゃないの
素直にやったら全部グローバル変数と変わらないから、テストのことを考えると
IProductsStateとかインターフェイスで小分けすることになるだろうけど
インターフェイス使っちゃうと後で変更がきかないよね

294 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:09:25 ]
>「銀の弾丸」が存在しない以上、「ステート集約プログラミング」も銀の弾丸ではありえない。
>「ステート集約プログラミング」とは、あなたが“カオスの縁で踊る”ステップのバリエーションを増やすものであって、
>他のステップがなくてもよいと主張するものではない

これだけでなんかオタ臭さをすげぇ感じるわ。


295 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:45:39 ]
オタですがなにか?(-_-メ)

296 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:57:12 ]
状態オブジェクトの変更に弱い
に尽きるな
筆者もそれはわかっててわざと誤魔化した書き方をしてるように見える
結局グローバル変数と一緒だわね

297 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 15:07:06 ]
>>294
実戦で役立つなら考案者が厨二でも邪気眼でも構わんが、これは正直微妙な感じ
他の人も指摘してる通り、ちょっとヲサレなグローバル変数以外の何者でもない罠

とは言え、相互作用する状態が大量発生するような手合いだと、Observerパターンでも苦しいのは事実
なんかうまい方法はないもんか

298 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 15:28:57 ]
なんかレベル低いことをわざわざ敷居高くして難しく書いてるだけな気がする。



299 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:35:04 ]
>>280
msdn.microsoft.com/ja-jp/library/ms173266.aspx
DllMainではマネージコードを実行してはいけないという制限があるので
「C#では不可能」というのが答えだな
C++/CLIでそこだけネイティブコードのみで実装する必要がある

300 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 17:19:05 ]
>>292
一つ前の記事の日本語でテスト名は書けというのは共感出来た。
ビジネスロジックのテスト名はそっちの方がわかりやすいしね。

301 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 17:36:41 ]
だね

302 名前:292 mailto:sage [2010/07/06(火) 17:58:00 ]
皆THX.
アレは文中でもある通り、DBの簡易代替に過ぎないんだろうな。

>>300
まあテスト名くらいは許容できるが、変数名を日本語で書くのは俺はあかん。
インテリセンス使えねえじゃん。

303 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:51:18 ]
あかんね

304 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:13:21 ]
変数全部に/// <summary>と/// <remarks>を。

305 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:43:28 ]
日本語使うとインテリセンス使えないんだっけ?
使えたように思ったけど気のせいか

306 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:58:50 ]
変換して確定しないと候補が出てこないんだから、インテリセンスの意味なし。

307 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:01:19 ]
候補が出てこない訳じゃないだろう
ピリオド打った後カーソルキー上下とかスクロールつまみ動かすとか
まあインテリセンスのメリット低下は確かだが

308 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:10:16 ]
そうだね



309 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:35:39 ]
>>292
もう中身以前にい近づきたくない感じ

310 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:41:00 ]
>>306-307
そこでイニシャル付き変数ですよ。k金額とかn日数とか。
というか、日本語の変数名を簡単に検索できるアドインを作ったら結構受けるかもな。

311 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:20:13 ]
migemoを組み込むってことか?

312 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:23:28 ]
川俣に期待するなと・・・

313 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:36:21 ]
なんで?

314 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:41:06 ]
匿名掲示板のレスにいちいち理由なんて期待するなと・・・

315 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:53:36 ]
>>313
やってることがいろいろと可笑しすぎる。


316 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:15:34 ]
MVVMのView側って何書くの?
Command Binding出来ないDragDrop系とか?

317 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:23:00 ]
Modelに依存しない処理。
Click系のコマンドでViewの操作のみならViewModelに書かずViewの中で完結する。
DragDropの事後処理等でModelに依存するコードがあるならその部分だけViewModelに書く。
無いならViewで完結。
間違ってもView内のハンドラでModelを触らない事。

318 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:23:18 ]
某スレに載ってたんですけど、
Jane Style 3.4 を使って2chに書込みをすると
C:\\Document And Setting\【スズキ タロウ】
という部分の文字列までパケット送信してるらしいのですが、
誰か逆アセンブルして解析した方はいますか?


※前々から2ch専用ブラウザは怪しいと言われていたのですが・・・

場合によっては警視庁ハイテク化にアプリとソースを引き渡します。



319 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:24:22 ]
>>299
マジレス感謝m(_ _)m
キーロガー作ってプロセスを隠蔽しようと思ったらやっぱC#じゃ無理か・・・
がんばってC++勉強します。。

320 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:25:11 ]
>>317
MVPレベルキタコレ!
凄くわかりやすかったです
サンクス

321 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:30:01 ]
またこいつか

322 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:41:03 ]
MVPと言えばいつも見てる高スキルのブロガーが落ちてたな
かと思えば何もしてない人が選ばれたり…
あれの選別基準がいまいちわからん

323 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:43:58 ]
あれは、コミュニティを運営してる人、もしくはライター。
Most Valuable Professionalとは名ばかり。

324 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:45:15 ]
むむむ…
そう言う事か…

325 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:47:58 ]
オレも以前受賞したことあるけど、雑誌に記事書いてたのが評価されたみたい。
他にはとくに活動してなかったし。

326 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:47:43 ]
>>316
きっちりやれば、たいていの場合XAMLしか残らない。
C# 側は、テンプレ通りの InitializeComponent() のみに。

全く持ってその通りで、一部の Command Binding できないものとかのために
しょうがなく View の分離コードに何か書く。

327 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:52:33 ]
MVP の評価基準が、やっぱ露出度で計られるんで。
(「MS に対する貢献」って言い方されるけども、結局それは好意的な記事の露出。)
コミュニティ運営と、編集の校正入るウェブ記事は評価高いっぽい。

ああ、あと、MS Connect へのフィードバック数とか、
フォーラムでの書き込みすうとか。

最終的に評価は米本社側でやるんで、
検索でどれくらいの位置、PV いくら、執筆本数いくら、会員数いくら
とか、客観的な数字がある方が受けるみたい。

328 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:56:09 ]
>>318
の質問誰か答えてちょ



329 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:57:14 ]
コピペ君って馬鹿だな、まで読んだ。

330 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:14:17 ]
>>328
自分でパケットキャプチャしろ

331 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:18:09 ]
>>328
応援してるよ頑張ってね

332 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:25:08 ]
>>328


333 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:27:29 ]
ここは328を応援するスレになりました

334 名前:デフォルトの名無しさん [2010/07/07(水) 00:46:39 ]
>>328
逆アセしなくてもwiresharkのようなソフトで通信をモニターすればいいんじゃね?
まあ個人名称をそのままユーザーにしてる人もいるだろうから気持ち悪いよね
Styleは使ってないのでアレだがその情報はどこへ送ってるの?

335 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:48:41 ]
正直名前くらい漏れてもいい

336 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:52:30 ]
>>334
各板の鯖
Reflectorでソース解析済み。

>>335
2chにはプロ固定がいるのをお忘れなく

337 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:52:50 ]
コピペ君にマジレスって....
っていうか、「送信してるらしい」ってどこの誰にだよ。
2chのサーバー?w
仮にそうだとして、どこぞのPCのユーザー名なんか収集して何の役に立つんだ?
それはソフトの作者にとって、犯してるリスクに見合うものなのか?

なわけないだろw
被害妄想狂の想像とちがって、お前さんの個人情報(にすらならんがユーザ名なんか)
になんか1円の価値もないよ。

こんなの小6レベルの推理力でわかる話だと思うが。

338 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:56:18 ]
>>336
> Reflectorでソース解析済み。
結論が出てるならそれでいいじゃん。



339 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:07:25 ]
>>337
2ch プロ固定 でググレ

そしたらなぜ不味いかが分かるはず。

340 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:07:59 ]
Jane Styleって.NET製じゃないよな

341 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:16:59 ]
プロ固定…。
んーなんかデジャブ。
前に見たのはオカルト板だったはず。
だからその手の都市伝説はあっちの板でやれ。

342 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:30:14 ]
>>340
Delphi

343 名前:デフォルトの名無しさん [2010/07/07(水) 01:30:53 ]
スクロールバーについて質問をしたいのですが、
スクロールバーで値を変更したときに、
フォーム内のすべてのコントロールの表示位置を変更する様な
プログラムを組むのでしょうか?
それとも、根本的になんか、勘違いしているでしょうか?


344 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:34:49 ]
Jane StyleはDelphiのはずだが>>336はReflectorで何を見たんだ…?

これはマジでオカルト板の出番かもしれん

345 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:47:19 ]
>>343
Panelとかの上に全てのコントロールを乗っけてPanelだけ動かす
まあ普通はAutoScroll使う

346 名前:デフォルトの名無しさん [2010/07/07(水) 01:49:15 ]
>>340
ReflectorはDelphi対応みたいね

Delphiって中間コード持つような言語だっけ?

347 名前:デフォルトの名無しさん [2010/07/07(水) 01:50:33 ]
>>336
気になるならスパイウェアのような挙動をするとしかるところへ報告しておけばいいんじゃね?
ローカルのアカウントに個人名使ってればIPとひも付きでデータが集まるしなあ
その程度だとそれほど価値はないがそういう兆候があるってことは
そのうち何かやりかねないので注意を促すと言う意味では動いた方がいいかもしれない
ソフトの監視という意味でね
利用者多いし

348 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:51:57 ]
あふぉか




349 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:52:38 ]
というのは>>346あて


350 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:01:16 ]
Reflectorで見れるのはDelphi.NET。
(2003年に出たDelphi 8から.NET対応の製品がリリースされてる。)

ネイティブコンパイルされるDelphiは.NETと無関係なのでReflectorでは見れない。

Jane Styleは後者。

351 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:15:40 ]
C#とは関係ないな。陰謀論は他でやれ

352 名前:デフォルトの名無しさん [2010/07/07(水) 02:18:10 ]
>>345
ありがとうございました。
オートスクロールってプロパティ、
2002年のバージョンのc#には無かったですよね?
確か、そんな気がしましたが。
最近乗り換えたもので。


353 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:49:29 ]
Left,Top,Width,Heightと4つそろった構造体は標準で用意されてませんか?

Pointは二つ(X,Y)のみなので、これの4カ所バージョンを探しています。

354 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:52:33 ]
RectangleとかRegionとか

355 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:55:10 ]
Regionは気のせい

356 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:56:06 ]
出来ればSharp系のクラスではなく構造体で・・・

357 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:00:53 ]
これ構造体だったはず

>.NET Framework クラス ライブラリ
>Rectangle 構造体

>四角形の位置とサイズを表す 4 つの整数を格納します。より高度な領域関数を使用する場合は Region オブジェクトを使用します。

>名前空間: System.Drawing
>アセンブリ: System.Drawing (system.drawing.dll 内)
>構文
>[SerializableAttribute]
>[ComVisibleAttribute(true)]
>public struct Rectangle

msdn.microsoft.com/ja-jp/library/system.drawing.rectangle%28v=VS.80%29.aspx

358 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:02:08 ]
>>357
そですた…。
WPFやってるとごっちゃになるから勘違いしてしまったorz
サンクス。



359 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 06:59:42 ]
>>352
バージョン情報
.NET Framework
サポート対象 : 4、3.5、3.0、2.0、1.1、1.0

>>358
WPFにだってRect構造体があるし(こっちは各要素がdouble型だが)

360 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 07:30:45 ]
>>359
みつけた。サンクス。






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

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

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