C#, C♯, C#相談室 Part51at TECH
C#, C♯, C#相談室 Part51 - 暇つぶし2ch2:デフォルトの名無しさん
09/02/04 23:29:58
関連スレ

ふらっとC#,C♯,C#(初心者用) Part36
スレリンク(tech板)l50

Visual Studio 2008 Part 14
スレリンク(tech板)l50

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
スレリンク(tech板)l50

【VB.NET】LINQ友の会【C#, C♯, C#】
スレリンク(tech板)

C#,C#の宿題片付けます。
スレリンク(tech板)l50

3:デフォルトの名無しさん
09/02/04 23:35:01
参考リンク

MSDNライブラリ
URLリンク(msdn.microsoft.com)

@IT Insider.NET
URLリンク(www.atmarkit.co.jp)
Insider.NET 会議室 ディレクトリ
URLリンク(www.atmarkit.co.jp)
MSDN フォーラム
URLリンク(forums.microsoft.com)

pinvoke.net: the interop wiki!
URLリンク(pinvoke.net)
宇宙仮面の C# プログラミング / C# Programming
URLリンク(ukamen.hp.infoseek.co.jp)
WisdomSoft C#入門
URLリンク(wisdom.sakura.ne.jp)
WisdomSoft Microsoft .NET入門
URLリンク(wisdom.sakura.ne.jp)
どっとねっとふぁん
URLリンク(dotnetfan.org)
緑のバイク 初めてのC# ~ 覚え書き ~
URLリンク(homepage3.nifty.com)
どぼん!の .NET Tips
URLリンク(dobon.net)

4:デフォルトの名無しさん
09/02/04 23:53:21
嘘付け。

5:デフォルトの名無しさん
09/02/04 23:57:37
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
URLリンク(pc11.2ch.net)
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
URLリンク(windowsvista.ms)
Windows VistaFAQ
URLリンク(vistafaq.stdo.net)
インストールから設定・活用まで~ すべてが分かるWindows Vista大百科
URLリンク(journal.mycom.co.jp)

6:デフォルトの名無しさん
09/02/05 00:01:54
質問の揚げ足を取って悦に浸っている常連ばかりのスレだそうですが、
本当ですか?

7:デフォルトの名無しさん
09/02/05 00:03:53
次の質問をどうぞ。

8:デフォルトの名無しさん
09/02/05 00:27:12
他のスレにも常駐して監視してるって本当ですか?

9:デフォルトの名無しさん
09/02/05 00:35:51
次の質問をどうぞ。

10:デフォルトの名無しさん
09/02/05 00:37:49
前スレでお伺いしたのですが、
ちょっと流れてしまったので再度書き込みさせていただきます。

「Webページのビルド コメント」機能を使おうとしたのですが
うまく使えません。。
下記に手順として
URLリンク(www.atmarkit.co.jp)
VS.NETでC#のソリューション(プロジェクト)を開き、統合開発環境のメニューから、[ツール]-[Webページのビルド コメント]を実行する
とあるのですが、
[ツール]の中にWebページのビルド コメントがないです。
私が使ってるVS2005 Professionalでは使えない機能なのでしょうか?

11:デフォルトの名無しさん
09/02/05 00:43:56
2003にはありますが2005にはありません

12:デフォルトの名無しさん
09/02/05 01:48:57
>>6
本当です

13:デフォルトの名無しさん
09/02/05 05:21:39
前スレ979ですが
一番簡単そうな前スレ>>988の方法でやってできました。


14:デフォルトの名無しさん
09/02/05 07:52:00
Managed DirectXの質問もここでおk?

15:デフォルトの名無しさん
09/02/05 09:24:25
だめ

16:デフォルトの名無しさん
09/02/05 11:10:30
C#の勉強しようと本(C#.NETによる実践DBプログラミング)あったので見ながら2008 Express Edition動かしてるんだけど
本に検索したレコードをフォームに表示で、
iPos=dataView.Find("T0001");
dataGrid.CurrentRowIndex=iPos;
ってあったのでDataViewコンポーネントをフォームに貼ろうと思ったらなかった・・・
あるのはポインタ, DataSet, DataGridView, BindingSource, BindingNavigatorだけ。
これはExpress Editionだから?
それとも本がちょっと古いから今のと仕様が違うのかな?
本は平成14年12月25日初版ってなってる。

17:デフォルトの名無しさん
09/02/05 11:21:00
2002/2003の.NET1.xと2005以降の.NET2.0以降でそのへんごっそり変わったから。
// まあ旧来のDataGridも生のDataViewも使えるけども。
素直に2005以降対応の本で勉強することお勧め。

18:デフォルトの名無しさん
09/02/05 11:21:29
DataView は貼れるコンポーネントじゃないだろ。

宣言とかない?

19:デフォルトの名無しさん
09/02/05 12:11:30
>>14
この板に専用スレがあるけど過疎
ゲ製作技術の姉妹スレの方も過疎だけど、あっちの方がまだマシか・・?

20:デフォルトの名無しさん
09/02/05 13:21:38
>>17
やっぱ新しい本買ってきます。

>>18
本には「ツールボックス」の「データ」ってとこから貼り付けてるんだよね。
宣言ってのはまだ勉強始めたばっかりなので分かりません。すいません。

21:10
09/02/05 23:54:03
>>11
え、なくなったのですか!?
魅力的な機能に感じたのにもったいないです。
これで慣れた人は今どうしてるんでしょうかね。
他のいい代替ソフトでもあるのでしょうか。

22:デフォルトの名無しさん
09/02/06 00:01:33
>>941
MFC も正直中身いまいち見えないと思うが…。
というか MFC と比較するんならたぶん WinForms だろうけど
実装正直かなり素直なので中身が見えない?とか思ったことナス

23:デフォルトの名無しさん
09/02/06 00:16:38
OutLookなどのメーラーソフトから、D&Dで自分のListViewなどにメールを
落としてやり、Explorerに落としたときと同じようにメールのファイル化を
行いたい場合、DragDropイベントに自分で処理をいろいろ書いて実現する
ことをせずに、どこかにWebBrowserを貼っておいてC:\Tmpなどのフォルダ
にNavigateしておき、そこへプログラムでD&Dで落としてやることは可能で
しょうか。その場合はWebBrowserのDocumentオブジェクト上にD&Dする
ようなことを擬似的に処理するのでしょうか、ご指導の程よろしくです。


24:デフォルトの名無しさん
09/02/06 00:19:44
>>22
ドンマイ

25:デフォルトの名無しさん
09/02/06 00:19:54
書き直してくれ

26:デフォルトの名無しさん
09/02/06 00:37:24
>>23
IShellFolderからIDropTargetをGetUIObjectOfして
DropされたIDataObjectを渡しつつ DragEnter, DragOver, DragDropを
順に呼んでやればおk

なに言ってんだか理解できないなら諦める

27:23
09/02/06 00:48:41
>>26
おお、ご指導ありがとうございます。お答えの感じからは可能ということ
なのですね!おそらくですが、このIShellFolderが、WebBrowserのDocument部に
該当するオブジェクトの型でしょうか。そこにIDropTargetに割り当てられる
UIObejectがある、という感じなのですね。ありがとうございます、そこから
また調べてやってみます。感謝です。

28:デフォルトの名無しさん
09/02/06 01:47:12
コードの載ったアプリケーションのオススメお願いします
いくつかのサイトで調べたのですがいまいち・・・

VisualStudioで即、ビルドできるソース一式があればお教えください

29:デフォルトの名無しさん
09/02/06 01:49:28
はいはいcodeplex

30:デフォルトの名無しさん
09/02/06 01:51:03
そこの中で条件にあったのありますか?
オススメあったら教えてください

31:デフォルトの名無しさん
09/02/06 08:21:26
お前ら、クラス内のメソッドを
コンストラクタ→メソッド→プロパティの順とか、
アルファベット順に並べかえたりしてる?

こんど、sourceforge に登録しようと思ってるんで
その前にソースをきれいにしたい。

アルファベット順とかにならんでるときれいだけど
それを維持するのも面倒なんでどうしようかな・・・と思ってるんだが。



32:デフォルトの名無しさん
09/02/06 09:20:27
機能の塊順とか
public/protected/private順とか
いろいろありそうだがアルファベット順はないな

33:デフォルトの名無しさん
09/02/06 09:29:03
スタイルはあとでいいからとりあえずFxCopは通しなよ

34:デフォルトの名無しさん
09/02/07 12:52:55
変数・定数→プロパティ→コンストラクタ/デストラクタ→メソッド
中はpublic→protected→private

35:デフォルトの名無しさん
09/02/07 13:37:05
>>31
俺はオブジェクトブラウザやヘルプに出てくる順番を参考にしてます。


36:デフォルトの名無しさん
09/02/07 16:24:47
FxCop+StyleCopで完璧

37:31
09/02/08 02:13:55
お前ら、レスありがとうございました。

手動で並べ替えは面倒なんで、
FxCop と StyleCop で自動化できる範囲で
やることにしました。

今月中に世界を変えるアプリを公開する予定です。

38:デフォルトの名無しさん
09/02/08 04:35:11
公開したらぜひ教えてくらさい

39:デフォルトの名無しさん
09/02/08 05:25:05
世界を変えるアプリ→存在する全暗号の関数を自動的に解析するアプリ

40:デフォルトの名無しさん
09/02/08 10:05:57
FxCopやStyleCopは自動修正できないよ
やたら厳しく文句付けてくるだけのツール
オープンソースにするならFxCop通すのは最低限のマナーだと思うけど結構面倒

41:デフォルトの名無しさん
09/02/08 11:22:49
のちのSkyNetである

42:デフォルトの名無しさん
09/02/08 17:36:55
>>40
まぁ Framework/Style Police だからな。捕まえるまでが仕事。

43:デフォルトの名無しさん
09/02/08 18:58:34
>>39
計算時間を気にしなければ既にあるんじゃね?

44:デフォルトの名無しさん
09/02/08 19:00:11
そんなんじゃ世界を変えられないよ

45:デフォルトの名無しさん
09/02/08 19:08:41
>>39
残念ながら暗号強度と関数の公開性は関連がないよ。

46:デフォルトの名無しさん
09/02/09 09:21:13
「世界」を「world」に置き換える、テキスト変換ツールに1票。

47:デフォルトの名無しさん
09/02/09 10:08:07
既存システムのファイルマッピングメモリにC#でアクセスする方法が分かりません
C# ファイルマッピングで検索してもWin32系の情報しか出てこないのですが、
C#にファイルマッピング系のクラスなどは存在しないのでしょうか?

48:デフォルトの名無しさん
09/02/09 10:16:17
ない

49:デフォルトの名無しさん
09/02/09 10:31:38
うぎゃ!
APIでゴリゴリ書きます^^;
ありがとうございました

50:デフォルトの名無しさん
09/02/09 14:33:03
>>47
.NET Framework 4.0で追加予定

51:デフォルトの名無しさん
09/02/09 15:18:05
質問です。

enum XX : int { ...... }

と列挙した内容を、(int)などのキャストなしで値として得たいと思っています。
何か良い案などございますでしょうか?

52:デフォルトの名無しさん
09/02/09 16:32:02
ございません。

abstract class XX
{
 public const int Hoge = 0;
 public const int Hage = 1;
 ……
}

とか

53:デフォルトの名無しさん
09/02/09 16:36:25
やっぱりそうなっちゃいますか・・・

enumを列挙するときに数え上げてDictionaryにenumをKeyにして、
数値を格納使用とも思ったのですが、列挙の途中で値が代入され
連続性がないenumの場合は使えないナなど悩んでおりました。

54:デフォルトの名無しさん
09/02/09 19:28:47
vs2008なんですがデバッグの時に、ウォッチウィンドウとかで"現在のコードが最適化されているため、式を評価できません"となることがあるんだがなぜ?
最適化してる訳じゃないし他のところだと普通に値が見れるし。

55:デフォルトの名無しさん
09/02/09 19:52:09
>>53
VBならキャストなしでいけるw
しかし、そんなキャストを忌避しなきゃならん理由があると思えんけど。

56:デフォルトの名無しさん
09/02/09 20:44:31
>>51
Enum.GetValues(typeof(XX)) でなくて?

57:デフォルトの名無しさん
09/02/10 03:21:24
C#でCRC32を計算するために外部dllを探しているんですが、ある程度高速な物で何かお勧めはありませんか?
ググればいくつも見つかりますが、どれが高速かいちいち試すときりがないので。

58:デフォルトの名無しさん
09/02/10 03:51:05
10万件くらいのDecimalがあって、参照ばかりで挿入とかはありません。
この場合どういうデータ構造をつかえばいいでしょうか?

59:デフォルトの名無しさん
09/02/10 03:53:42
>>57
条件によるとしか
ライセンスの問題もあるし、unsafeが許可されるのかも知らんし
そもそもIOがボトルネックになるんじゃね?という気もする。

60:デフォルトの名無しさん
09/02/10 05:14:25
C#からモニタの情報をScreen.AllScreensより詳しく取得できないですかね?
USBアダプタでのマルチモニタ環境なんですけど再起動したりするとたまに取得順が変わるようで、出来ればモニタの型番かなにかで一意に対応取りたいんですが・・・。

61:デフォルトの名無しさん
09/02/10 07:55:56
>>57
どれもたいして変わらん。
本当に速いのが必要なときはハードにやらせるし

62:デフォルトの名無しさん
09/02/10 07:57:51
>>58
配列

63:デフォルトの名無しさん
09/02/10 10:01:09
>>60
DeviceName とかじゃダメか?

64:デフォルトの名無しさん
09/02/10 10:09:08
>>57
SSE4.2使え

65:デフォルトの名無しさん
09/02/10 10:11:08
System.Security.Cryptography.HashAlgorithm系のやつじゃあかんの?

66:デフォルトの名無しさん
09/02/11 08:37:13
RadioButtonのCheckedが全てfalseになります。

ApplicationSettingsを使ってRadioButtonのCheckedを覚えさせようとしたんですが、
例えば二つのRadioButtonがあった場合、二つともPropertyBindingとして設定すると
アプリを動かして、UIでチェックをつけたりはずしたりする時に、その二つの
RadioButtonのCheckedが一度外れた状態になります。何故でしょう。

そもそもRadioButtonはApplicationSettingsでCheckedの値を覚えさせる
ものではない?

67:デフォルトの名無しさん
09/02/11 09:14:39
>>63
DeviceNameだと

 "\\\\.\\DISPLAY1" string

っていう値が入ってるだけで、これってPC再起動時に名前が変化する可能性があるので使えないかなぁと


68:デフォルトの名無しさん
09/02/11 12:45:51
 C#には、Effective C++や C++ Primerの様な本が無くてイマイチ。
趣味でプログラミングする身としては余り楽しくない。
 MVPのブログはキモイので肌に合わない。

 今、C#で継承や多態性を有効活用させる為に、Effective Javaを衝動買い
しようかと思ったのだけど、通販しか手が無い。

注文する前に、みんな何読んでるか聞かせて。

69:デフォルトの名無しさん
09/02/11 13:10:30
>>66
イニシャライズはどこでやってる?
Formのコンストラクタじゃなく、Form_Loadでしてみては?

70:デフォルトの名無しさん
09/02/11 13:26:06
>>66
これじゃだめなん?
private void Form1_Load(object sender, EventArgs e)
{
this.radioButton1.Checked = Properties.Settings.Default.radio;
this.radioButton2.Checked = !Properties.Settings.Default.radio;

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Properties.Settings.Default.radio = this.radioButton1.Checked;
Properties.Settings.Default.Save();
}

71:デフォルトの名無しさん
09/02/11 13:58:35
>>68
あるよ。
Effective C# URLリンク(my.safaribooksonline.com)
More Effective C# URLリンク(my.safaribooksonline.com)
C# Primer Plus URLリンク(my.safaribooksonline.com)

More...は今読んでる。
Safari大量にC#本あるから、読む本は尽きないよ。
(ただし日本語訳はない)

72:デフォルトの名無しさん
09/02/11 15:20:30
IOleControlとかのインターフェイスを定義したファイルってないの?
Win32APIを定義したのは見つかったのに、、、

不便でしょうがない

73:デフォルトの名無しさん
09/02/11 15:31:51
C++はEffective C++とか読まないとまともに書けないけど
C#は別になくてもどうとでもなるからなあ

74:デフォルトの名無しさん
09/02/11 18:26:46
>>71
thx
和書を見限る線引きが出来た。
やっぱ本はあった方が良いよ。他人と話すときに妥協点としてお互い満足できる。
好きでやってて動けば良いじゃ、可哀想。

問題は俺が、洋書は厨二病時代にFIRST BLOOD1冊読んだだけということなのだがなw

75:デフォルトの名無しさん
09/02/11 19:47:04
「CLR via C#」 (邦題:プログラミング .NET Framework) は、C#使いならEffective C++並に必読といっていいぞ。
邦題のタイトルのせいでスルーされがちだけど。

76:デフォルトの名無しさん
09/02/11 19:58:46
>>75
URLリンク(www.amazon.co.jp)
ref=sr_1_1?ie=UTF8&s=books&qid=1234349867&sr=1-1

これ?

77:デフォルトの名無しさん
09/02/11 20:02:54
>>76
URLリンク(www.amazon.com)
これに対応する物だろうけど、MS日本法人はもうちょっと考えたほうが
いいよな。Amazon自体のデザインは日米共通だが、笑っちゃうくらい
印象が違う。

78:デフォルトの名無しさん
09/02/11 20:05:51
>>77
どれ?w

79:デフォルトの名無しさん
09/02/11 20:07:44
>>76
それ

Amazonのリンク張る時は、この短いやつで十分
URLリンク(www.amazon.co.jp)

>>75
C#使いなら手元に置いて、しっかり読んでおきたい本だね。

80:デフォルトの名無しさん
09/02/11 20:13:21
>>75
第2版なら持ってる。
 そんなにバリバリプログラミングするぞって本とは思えないな。
要らない事書いて恥じ書く前の、転ばぬ先の杖ってヤツ?

…改めて見てみると、かなり付箋や自分のメモ書きが入ってたんだがw

81:デフォルトの名無しさん
09/02/11 20:17:39
>>79
GJ

ん~買おうかな
迷うぜ

82:デフォルトの名無しさん
09/02/11 20:20:11
Amazonのカスタマーレビューの投稿数からして、日本と米国じゃ圧倒的な差だな
日本は所詮プログラミング後進国ということか・・・

83:デフォルトの名無しさん
09/02/11 20:30:55
まー 古い本だから安く手に入ったり、譲って貰えたりするんでないかな?

 古いからジェネリックとか無いけど、
多分ジェネリックを含む新しい本が今後出ても、
その本にはこれと同じ内容の章を割くことになる。
(逆にその本がILコードの都合にまで言及してくれるかは解らん)

84:デフォルトの名無しさん
09/02/11 20:32:47
ジェネリックは載ってるよ。

85:デフォルトの名無しさん
09/02/11 20:36:48
ごめん。
古いから載ってなかった物がなんかあったような気がするが、覚えとらん。

言い訳にならんが、一昨年の2月に読んでたんで。

86:デフォルトの名無しさん
09/02/11 20:45:27
>>85
うん。原書の第2版は2006年に出たらしいから、.
NET Framework 2.0 までの記述になっているので、それ以降のことは載ってない。
でもジェネリックは2.0では既に導入されているから載ってるよ。

はやく3版出ないかな

87:デフォルトの名無しさん
09/02/11 20:57:19
Essential.NETのことも忘れないで下さい(´・ω・`)

88:デフォルトの名無しさん
09/02/11 22:52:36
>>87
それ日本語版ある?
CLR via C#は買いたいな

89:デフォルトの名無しさん
09/02/11 22:58:14
というか、C#や.netは今後も残るのかな
.netそのものがどうなるか不安だし、言語としてもVBやC++/CLIと比較したらC#はマイナーだし、
なんか漠然とした不安を感じてしまう
だから、いつまでもC#の高い本が買えない 悪い循環になってるorz

90:デフォルトの名無しさん
09/02/11 23:02:22
C++/CLIと比較ww

91:デフォルトの名無しさん
09/02/11 23:05:48
C#>>>VB>>>>>>>越えられない壁>>>>>>C++/CLI

って感じだな。俺の周りでいうと。

92:デフォルトの名無しさん
09/02/11 23:06:30
米のamazon.comだと日本で高い洋書も結構安かったりするんだけど(特に中古)、
自分の住所の英語表記に自信がない(w)のと、送料が不明確なんでずっと買うの
躊躇してるんだよなあ。

実際米のamazon.comで買ってる人いたら送料どのぐらいか教えてくれない?

93:デフォルトの名無しさん
09/02/11 23:11:48
言語としてC++は残ってるからなCLIはその拡張版なだけだし
ユーザ数はVB>C++>C#だし、消えるとしたらC#が真っ先に消えるんじゃないか?

94:デフォルトの名無しさん
09/02/11 23:12:58
>>89
というか何年前から来た人ですか


95:デフォルトの名無しさん
09/02/11 23:15:16
確かにどの現場にいってもC#で開発してるところは少ない
無くならないかもしれないが死に体であることには変わりがないな
少なくとも俺の周りでは

96:デフォルトの名無しさん
09/02/11 23:15:34
>>93
そう思うなら、VBでもC++/CLIでも使えばいいじゃん。

97:デフォルトの名無しさん
09/02/11 23:17:50
すくなくともC++/CLIだけはありえない
それだけは断言できる

98:デフォルトの名無しさん
09/02/11 23:20:58
>>97
なんで?

99:デフォルトの名無しさん
09/02/11 23:23:00
俺もないと思う。.NET のメリットである、「お気楽コーディング」ができないし。
情報も少ないしね。

100:デフォルトの名無しさん
09/02/11 23:25:10
C++/CLIはなくなっても、C++は残るからなぁ

101:デフォルトの名無しさん
09/02/11 23:27:30
C++ じゃないとダメな分野は依然としてあるからね。

102:デフォルトの名無しさん
09/02/11 23:32:04
C++にはC++にしかできないことをやらせるというのがMSの方針
だから間違ってもC++/CLIは主役にならない

103:デフォルトの名無しさん
09/02/11 23:34:51
となると、かつてVB6でクライアントを開発してたようなシステムは、
まさかVB6ってわけでもないだろうから、.netでVBで開発してるのかな?

104:デフォルトの名無しさん
09/02/11 23:35:12
VC++のカバーして他分野はあんまり侵食してない。
VC++と旧VBの間をカバーしてたDelphiやC++Builderといったあたりが弾き出された感じだな。

105:デフォルトの名無しさん
09/02/11 23:37:16
2chでそんな公然の秘密みたいな話されてもな。
一人で仕事して、言語の移り変わりを心配してる人がそんなに沢山いるのかな?

極個人的に、数年前に関数型言語への乗り換えに失敗したので、
Boostのlambda系をやろうと思ったら、
C#ってやつで似たような事をやってた。 現在に至る。
一万円で1日遊べればいいので、本代はペイできたと思う。

106:デフォルトの名無しさん
09/02/11 23:37:50
主役はBasicだから主役には成らないが脇役から外れることもないんじゃない?
ならC++を学んでC++でFrameworkを使うという選択肢は重要な選択肢

107:デフォルトの名無しさん
09/02/11 23:39:49
主役は Basic って何の話?

VB6 まで、MS のファーストランゲージは VB だったけど、今は C# に変わったよ。

108:デフォルトの名無しさん
09/02/11 23:42:12
>>106
だから奴らは、継承を見ると避難して、switchを沢山使うんだな!

109:デフォルトの名無しさん
09/02/11 23:43:50
>>107
今もVBがメインストリームで、C#はマイナーだろ

110:デフォルトの名無しさん
09/02/11 23:46:13
こういっちゃなんだが C#er は C++ からの人も多い
まぁそういう人らすら大抵既存資産流用とか以外で C++/CLI を
使いたがらないわけで押して知るべしっていうか


111:デフォルトの名無しさん
09/02/11 23:47:52
まともなプログラマなら両方使える。たいした差はないだろうに。
使いこなすのに10の労力が必要だとして、
クラスライブラリの理解5、IDEの操作3、言語2くらいだからね。
どうでもいいよ。

112:デフォルトの名無しさん
09/02/11 23:51:02
C++/CLIはともかく,C#できるのにVBできないのはもったいない
1時間触れば使えるぞ

113:デフォルトの名無しさん
09/02/11 23:52:44
F#やbooもよろしく

114:デフォルトの名無しさん
09/02/12 00:03:57
今のVBって今のC#のサブセットにしか見えないんだが、何か違うところある?
構文とキーワード以外で。Variant型ってまだあるんだっけ?

115:デフォルトの名無しさん
09/02/12 00:05:17
わりとC++/CLIに戻る価値があるって言ってる人もおおいじゃん
アレはガゼってこと?

C++: .NET Framework プログラミング最良の言語
URLリンク(msdn.microsoft.com)

いままたC++が熱い!「C++/CLI」として大進化したVisual C++ 2005
URLリンク(www.atmarkit.co.jp)

C++/CLIはC#を凌駕するかも知れない…… usingステートメント不要のDisposeメソッド呼び出しの衝撃
URLリンク(mag.autumn.org)

本当は凄いC++!? プログラム比較論 C++ vs C#, Java, Visual Basic
URLリンク(mag.autumn.org)


116:デフォルトの名無しさん
09/02/12 00:08:42
>>115
無知なので申し訳ないが、簡単な質問なので教えてくれ。

テンプレート有りのライブラリを使った後に、idasm使った事ある?
それとも、あの汚いコードはJITが消化してくれるのか?

117:デフォルトの名無しさん
09/02/12 00:08:47
>>115
多くの記事がVS2005つまり.NET2.0リリース直後じゃないかな。
新製品のことは悪くは書かない。つまりそういうこと。

118:デフォルトの名無しさん
09/02/12 00:12:19
それ川ま(ry。
いやあの人の記事嫌いじゃないというかむしろ好きだけどw


119:デフォルトの名無しさん
09/02/12 00:12:22
>>116
それManaged拡張C++じゃね?

120:デフォルトの名無しさん
09/02/12 00:12:47
>>114
VariantはObject型として実装されてる
メンバ呼び出しは全部リフレクションを使った遅延バインディング
>>115
出たばかりのころは騒がれてたね
C++/CLIとC#を両方ともちゃんと使った上でC++/CLIマンセーしてる奴なんて今時いないよ

121:デフォルトの名無しさん
09/02/12 00:13:45
>>114
書き方以上の違いがあるのはインターフェイスの扱いと、
あとOption Strict Offができるぐらいかね。

たしかにC#でしかできないことの方が逆よりずっと多いから、その意味では
サブセット的存在かもしれん。

122:デフォルトの名無しさん
09/02/12 00:14:15
>>114
クエリ式がC#より充実しているとか、VB6時代の暗黙のインスタンス化復活とかかな。
名前付き引数・デフォルト引数はC# 4.0で入るんだよね。

123:デフォルトの名無しさん
09/02/12 00:15:27
んで、結局、今の開発案件はVBとC#のどっちが多いのかな

124:デフォルトの名無しさん
09/02/12 00:15:58
>>115
Managed C++ → C++/CLI は大進化と言える。
Managed C++ はカオスだったなぁ・・。

125:デフォルトの名無しさん
09/02/12 00:17:54
CreateObject とかは楽だね。

126:デフォルトの名無しさん
09/02/12 00:19:04
サブセットというより機能制限により簡易化と捉えるべきだろ
それこそ、昨日のintとuintの会話と同じ

127:デフォルトの名無しさん
09/02/12 00:26:03
どっちが複雑かということならレガシー機能やダメな子のための機能が満載のVBが圧勝だろ
次のバージョンでC#でもVariantみたいなことができるようになるけど,
必要だから使うのと,わかってないのをごまかすために使うのは違う

128:デフォルトの名無しさん
09/02/12 00:29:26
結局、VBユーザが流れ込んでC#の良いところがなくなっていくわけね
言語仕様そのものもVBユーザごのみに変わっていきそうだな

129:デフォルトの名無しさん
09/02/12 00:33:06
ぜんぜんわかってないやつがいます。

130:デフォルトの名無しさん
09/02/12 00:35:30
あれは要するに DLR 対応なんだけど。
C# 4.0 に関して、どうして必要か、どういう風に導入するかとい
われたら、ヘジのプレゼン見れば納得すると思うんだけど、
なんか伝聞でへんな風に伝わっていっている気がする・・・

131:デフォルトの名無しさん
09/02/12 00:38:34
また、そうやって荒れる原因になることをいう
C#がVB化するという意味じゃなくて、造詣に深くなくても使えてしまうから、
結果的にVB化するということだよ
VBみたいな言語の仕様での曖昧化を許すということでなく、
結果的に機能について曖昧なままユーザが使用し続けるということさ。

でも本質的には言語のVB化には変わりがないと思うよ

132:デフォルトの名無しさん
09/02/12 00:39:31
Variantとして使えるのも事実だけどな
COM Interopの強化も合わせて,C#4.0になれば
今までVBのほうがやりやすいと言われていたようなことが無くなって
完全にVBと縁を切れるよ

133:デフォルトの名無しさん
09/02/12 00:45:10
>>132
そうなんだ。
ついでにVBのWithEventsとメソッド内のフィールド(Staticで宣言された
ローカル変数)も欲しい。

134:デフォルトの名無しさん
09/02/12 00:54:24
Variantとして使う奴が同じグループにいたら全部書き直させるわ

135:デフォルトの名無しさん
09/02/12 13:59:21
JavaからC#に移行してきました。

Javaの場合はget/setメソッドでメンバー変数の公開をしていましたが、
C#ではプロパティー機能が存在していますのでこちらを使用しております。

プロパティーを使用していますが使い方としてはget/setメソッドと同様の
使い方しかしてないので、なぜこの仕様が実装されたのか理解できていません。

もしよろしければ理由などについて解説していただけませんでしょうか。
面倒でしたら参考URLをいただければそちらで勉強したいと思います。

136:デフォルトの名無しさん
09/02/12 14:06:20
>>135
参考URL
URLリンク(blog.inomata.lolipop.jp)

137:デフォルトの名無しさん
09/02/12 14:46:56
>>135
URLリンク(www.atmarkit.co.jp)
「あたかも公開しているかのように振舞う使い方」ができるからでは?

138:デフォルトの名無しさん
09/02/12 15:39:05
単にタイプ数が減るからだろ

139:デフォルトの名無しさん
09/02/12 16:01:24
>>136
>>137

・呼び出しコーディング非効率の改善
・リフレクションを使うにあたっての非効率の改善

この2点を解消しているってことなのでしょうか?

「あたかも公開しているかのように振舞う使い方」は、
呼び出しコーディング非効率の改善と捕らえてよいのかな・・・。


140:デフォルトの名無しさん
09/02/12 16:09:17
リフレクションを使って見るとわかるけれど、プロパティーはフィールド(変数)とも
メソッドとも区別されている。概念として言語レベルでサポートされている。それが
利点の全て。高級言語なのだから。
 
get_foo, set_fooだと、あるパラメタを取得、設定するメソッドである事をプログラマが
名前で示す単なる慣習に過ぎないけれど、C#ではプロパティという概念によって取得、
設定という行為を特別扱いしている。つまり、get, setメソッドという慣習の事をJAVA言語
は``知らない''けれど、JAVAプログラマは``知って''いた。つまりJAVAプログラマも無意識
にプロパティという概念を持っていたわけ。しかしその概念をJAVAは``知らなかった''。
一方でプロパティという概念をC#は``知っている''。たとえば、あるクラスが持っている
プロパティの一覧を取得するなんて事もリフレクションによって可能。プログラマが扱って
いる概念を言語がサポートしているのは、できる事が増えるわけじゃないけど、高級言語では
素直に喜ぶべき事。それだけ構造性が増すのだから。
 
まとめると、JAVAでも同じ事を``プログラマが''やっていたんだから、``言語が''同じ事を
やってくれるのを素直に喜べば良い。新しい事ができるわけではないから、使い方はJAVA
と同様で全然良い。ぶっちゃけ、get_foo, set_booとタイプミスしなくて済む機能くらいの
認識でも良い。

141:デフォルトの名無しさん
09/02/12 16:12:24
追記:get, setの中で取得/設定とは言い難い処理まで書けてしまうという問題点はJAVAと同じ。
ただし、C#というか.NETではむしろ逆にプロパティの設定に伴う副作用を積極的に活用する傾向
がある。時々UI関係で面白い事例に出くわす。たとえば、フォームのClientSizeを設定すると
フォームのサイズがClientSizeに合わせて調節されるので、一度、フォームのサイズがおかしく
なるバグを修正するためにthis.ClientSize=this.ClientSizeという字面上は超怪しいコードを書いた
事がある。(とあるツールのアドイン開発で、ロード側の問題なので対症療法するしかなかった)
 
でも、get, setの副作用は標準ライブラリ以外では濫用すべきではないと思う。そいういう意味
では、JAVAのget_foo, set_fooと本当に同じで良い。自動プロパティなんてのも実装されたし
活用してみたらどうだろう?

142:135
09/02/12 17:34:12
>>140-141

判りやすい説明感謝します。
これからは積極的にプロパティーを使って生きたいと思います!


143:デフォルトの名無しさん
09/02/12 19:56:47
プロパティに関しては否定的な意見もあるけどね。
以下は プログラミング.NET Framework (Jeffrey Richter著, Microsoft Press出版) から
あくまで参考程度に、こういう見解もあるということで。

9.1.1 プロパティを賢く設計する
 個人的には、筆者はプロパティが好きではありません。Microsoft.NET Framework
やプログラミング言語でのサポートがなければよかったと思っています。理由は、
プロパティはメソッドであるのにフィールドのように見えるからです。この問題は
大きな混乱を招いてきています。プログラマがフィールドにアクセスしているコードを
見て仮定してしまうことが、プロパティにおいては誤っていることがあります。例えば、
次のようなことです。

・プロパティは読み取り専用または書き込み専用にできますが、
 フィールドは常に読み書きできます。プロパティを定義するときはgetとset
 のアクセサメソッドを両方提供するのが最善策です。
・プロパティのメソッドは例外をスローすることがあります。
 フィールドは例外をスローしません。
・プロパティはメソッドのoutやrefの引数には渡せません。フィールドは渡せます。
・プロパティのメソッドは実行に長い時間がかかることがありますが、フィールドへの
 アクセスはいつもすぐに実行が完了します。プロパティを利用する一般的な理由は、
 スレッドの同期を取ることです。これはスレッドを永遠に止めてしまうかもしれない
 ことを意味します。したがって、スレッドの同期が必要な時にプロパティを使うべきでは
 ありません。このような状況ではメソッドを利用するほうが好ましいでしょう。また、
 クラスがリモートからアクセスできる(たとえばクラスがSystem.MarshalByRefObjectから
 派生している)場合、プロパティメソッドの呼び出しはとても遅くなることがあります。
 したがって、プロパティよりメソッドの方が好ましいでしょう。筆者の私見ですが、
 MarshalByRefObjectから派生しているクラスではプロパティは使うべきではありません。

(続く)

144:デフォルトの名無しさん
09/02/12 19:57:31
(続き)

・続けて繰り返し呼び出された場合、プロパティは毎回異なる値を返す可能性がありますが、
 フィールドは常に同じ値を返します。System.DateTimeクラスにはNowという読み取り専用の
 クラスがあります。このプロパティは現在の日付と時間を返すため、呼び出されるたびに
 異なる値を返します。この実装は誤りで、MicrosoftでもNowをプロパティではなくメソッドに
 直せるものなら直したいと考えています。
・プロパティメソッドは副作用を持つ場合がありますが、フィールドへのアクセスには
 そのようなことはありません。言い換えると、型のユーザーがさまざまなプロパティに
 値を任意の順序で設定できて、型の動作に違いがでないようにすべきだということです。
・プロパティメソッドは追加のメモリを必要とするか、オブジェクトの状態の一部では
 ない何かへの参照を返して、そのオブジェクトを操作しても元のオブジェクトには
 何の影響もない場合があります。フィールドは常にオブジェクトの状態の一部であることが
 保証されているオブジェクトへの参照を返します。コピーを返すようなプロパティを利用すると
 開発者は混乱します。また、このような仕様がドキュメント化されていないこともあります。

 プロパティは使われすぎているというのが筆者の懸念です。プロパティとフィールドの違いを
一覧すれば、プロパティを定義する方が使いやすく、かつ開発者の混乱を招かないパターンは
非常に少ないことに気づくでしょう。プロパティによって得られるのは、少々単純化された構文
だけです。パフォーマンスの向上もない上に、コードは読みづらくなります。もし筆者が、.NET
Frameworkとコンパイラの設計に関わっていたら、プロパティを提供することはなかったでしょう。
代わりに、開発者にGetXxxやSetXxxというメソッドを必要に応じて定義させるようにしていたこと
でしょう。コンパイラが何か特殊な、単純化された構文でこれらのメソッドを呼び出せるように
したいなら、そうすればよかったのです。ですが、フィールドアクセスとは異なる構文を使って
欲しいと思います。開発者が何をしているのか(つまりメソッドを呼び出しているということを)
しっかり認識できる構文ということです。

145:デフォルトの名無しさん
09/02/12 19:58:19
public class MyGenericClass<T> where T:(Intとかfloat){
  T example(T a,T b){
    return a * b;
  }
}
operator*が使える型を取るときwhereにはなんと書けばいいのでしょう?

146:デフォルトの名無しさん
09/02/12 20:00:13
>>145
今のところできません

147:145
09/02/12 20:08:29
できませんか。コピペでbyte,short,ushot,,,,ulongつくります

148:デフォルトの名無しさん
09/02/12 20:41:14
演算子の実装を表すインタフェースが欲しいってのは常々議論されているけれど、
C#4.0でも解決されないみたいだね。

149:デフォルトの名無しさん
09/02/12 20:49:24
ExpressionTree使う

150:デフォルトの名無しさん
09/02/12 21:14:47
>>144
つまりWPFのSetValue(オブジェクト、型.依存プロパティ)はグッドという事か。
これはこれで超冗長だけど、まあロジカルではある。しかも添付プロパティなんて
芸当も可。

151:デフォルトの名無しさん
09/02/12 21:39:27
>>148
よく知らずに突っ込むけど、そんな議論あるの?
演算子って普通staticじゃないか

152:デフォルトの名無しさん
09/02/12 22:05:41
インタフェースというより、ジェネリック制約が欲しいという話のことが多い気がする。
いずれにせよ、目的は>>145をどうにかしたいということなんだけど。

153:デフォルトの名無しさん
09/02/12 22:12:27
>>151
いやだから>>145みたいなケースで型制約を
where T: Imultiplicative
とか書ければ万事オッケー、みたいな。別に演算子の実装をインタフェースの実装でやりたい
わけじゃなくて、演算子の実装を表す型制約があって欲しいという事。だから
where T: multiplicative
って書けて欲しい、という話とも言える。

「C# 四則演算 ジェネリック」でググると、MSDNフォーラムとかわんくま同盟の人たち
とかの議論がわんさか出てきます。

>>149はどういう風にやるの?ExprssionTree詳しくないのでちょっとイメージできないんだけど。

154:デフォルトの名無しさん
09/02/12 22:34:10
>>151
ここの過去スレでも出てきてるね
URLリンク(www.23ch.info)
他にもあったような

155:デフォルトの名無しさん
09/02/12 22:38:44
>>151
ここの過去スレでもやってた
URLリンク(www.23ch.info)


156:デフォルトの名無しさん
09/02/12 22:40:03
ごめんね
>>154-155は書き込み失敗したかと思った

157:デフォルトの名無しさん
09/02/12 22:53:25
>>153
T example(T a, T b)
{

158:デフォルトの名無しさん
09/02/12 22:53:58
ミスったので帰ります

159:デフォルトの名無しさん
09/02/12 23:16:17
>>154
普通に2chのURLはってくれお

スレリンク(tech板:295-312番)

160:デフォルトの名無しさん
09/02/12 23:40:37
ごめんね
次からそうする

161:デフォルトの名無しさん
09/02/13 00:17:39
>>143
プロパティ否定するのなんて、初期のJava信者だけだろ。
そのJavaにもプロパティ実装されて、否定してた連中涙目。


162:デフォルトの名無しさん
09/02/13 00:22:42
java7のプロパティもクロージャもキャンセルのふいんき(なぜかr)らしい。

163:デフォルトの名無しさん
09/02/13 00:34:30
プロパティは属性だから、それを求めるのに特定の機能が使いまわされやすいからな

string mText;
public bool IsEmpty
{ get { return this.GetIsEmpty(this.mText); } }
protected bool GetIsEmpty(string text)
{ return text == ""; }

みたいにGetIsEmptyを基底クラスにまとめて置けば、
継承先ではメンバ変数を渡すプロパティを書けばいいだけで楽。

164:デフォルトの名無しさん
09/02/13 01:08:42
>>153
Expression Tree使うとこういうのが簡単に作れる
static class GenericCalculator<T> {
 private static readonly Func<T, T, T> add;
 static GenericCalculator() {
  var left = Expression.Parameter(typeof(T), "left");
  var right = Expression.Parameter(typeof(T), "left");
  add = Expression.Lambda<Func<T, T, T>>(Expression.Add(left, right)).Compile();
 }
 public static T Add(T left, T right) { return add(left, right); }
 //他の演算子も同様
}

165:デフォルトの名無しさん
09/02/13 03:22:34
153です。
>>164
add=(Func<T,T,T>)((l,r)=>(l+r));って書くのと同じじゃん、と一瞬思ったけど、
Compile()は当然実行時評価なのかー!。
 
型制約が欲しい、というのとは話が違くて、足し算ができないと実行時に例外が投げられるのね。
勉強になった。
 
それなら、CodeDOMでも良いかな?

この手の議論って型制約の話とは別にダックタイピングができればなあ、って話にもなりやすい
けれど、それを無理やりやる方法があるって事だね。

166:デフォルトの名無しさん
09/02/13 04:34:58
書いてみた。ごめん、164を使ってくれ。今は反省している。
    class Multiplier<T>
    {
        public T Mult(T l, T r)
        {
            string nameOfT = typeof(T).FullName;
            string assemblyOfT = typeof(T).Assembly.ManifestModule.FullyQualifiedName;
            CompilerResults cr = null;

167:デフォルトの名無しさん
09/02/13 04:35:44
続き
            using (CodeDomProvider provider
                = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } })) {
                CompilerParameters cp = new CompilerParameters() {
                    GenerateInMemory = true
                };
                cp.ReferencedAssemblies.AddRange(new string[] { "System.Core.dll", "mscorlib.dll", assemblyOfT });
                string className = "Multiplier_" + nameOfT.Replace('.', '_');
                string namespaceName="GenericTest";
                string qualifiedClassName = namespaceName + "." + className;
                string source = "namespace " +namespaceName+"{ public class " + className + "{public " + nameOfT + " Mult(" + nameOfT + " l, " + nameOfT + @" r){return l*r;}}}";


168:デフォルトの名無しさん
09/02/13 04:36:29
さらに続き
                cr = provider.CompileAssemblyFromSource(cp, source);
                if (cr.Errors.HasErrors) {
                    throw new Exception(String.Join(Environment.NewLine, cr.Errors.OfType<CompilerError>().Select(e => e.ToString()).ToArray()));
                }
                Type typeOfMultiplier = cr.CompiledAssembly.GetType(qualifiedClassName);
                Object multiplier = Activator.CreateInstance(typeOfMultiplier);
                MethodInfo multiplierMethodMult = typeOfMultiplier.GetMethod("Mult");
                return (T)multiplierMethodMult.Invoke(multiplier, new object[] { l, r });
            }
        }
    }

169:デフォルトの名無しさん
09/02/13 06:08:29
同じ話題を
URLリンク(d.hatena.ne.jp)
で見つけたんだけど、ここに
------------------------------
.NET で動的に実行コードを生成する方法はいくつかあり,またその方法は増えつつあります.

    * (.NET 1.0 以降)CodeDOM やコンパイラによる動的コンパイル
    * (.NET 2.0 以降)Lightweight Code Generation (LCG)
    * (.NET 3.5 以降?)Expression Tree による動的コンパイル
--------------------------------
とあるので、俺のCodeDOMの方法は一応.NET1.0でも使えるという利点はあるみたい。
あと、このサイトではExpression Treeはコードのセマンティクスをデータ構造として保持
するために用いる、という哲学が示されていて、著者的には直ちにExpression Treeをコンパイル
するような使い方はしっくりしないらしい。まあでも>>166-168を書くくらいなら>>164
書くわな。

このサイトには>>164と同じ方針で作った演算子オーバロード付きの四則演算のジェネリック型
とそれを用いた複素数のジェネリック型のサンプルもある。この手の話って頻繁に繰り返されて
いるように見えるのでまとまった解決法はないと思っていたけれど、これはそのまま直ちに
利用可能だね。

夜中に目が覚めてしまったので色々書いてしまった。連投&長文すまない。

170:デフォルトの名無しさん
09/02/13 06:16:59
足し算のためにデリゲート呼び出すのもインターフェース越しにアクセスするのも
現実的ではないでしょう

171:デフォルトの名無しさん
09/02/13 07:58:44
そういう事書いてる奴誰かと思ったらやはりNyaruruか・・・

172:デフォルトの名無しさん
09/02/13 08:26:23
>>170
パフォーマンス的に?

C++のテンプレートみたいな「超高機能なマクロ」にしないと決めてる以上、
それはしょうがない。

>>171
しかも、他のMVPが「いまさら」盛り上がってる中、
NyaRuRu さんだけは「そういえば昔書いたけど」だし。

173:デフォルトの名無しさん
09/02/13 08:42:40
>>170
基本的な値型だけを対象にしたければ、素直に大量にオーバーロード書けば良いのでは?
まあその場合も型制約でOR論理を使いたい、ってな議論はできるけれど、興味深くはない。


174:デフォルトの名無しさん
09/02/13 08:50:03
>>173 みたいな方法も、
ソース冒頭に

using ValueType = System.Double;

とか書いておいて実装して、
このソースをコピって冒頭の1行書き換えるだけで可能だしね。

美しくはないけども、何とかならないレベルじゃない。


175:デフォルトの名無しさん
09/02/13 08:50:09
別にintと、あとdoubleがあれば十分じゃないかと思うけど

176:デフォルトの名無しさん
09/02/13 08:51:09
>>175
あとは BigInteger とか、実装してる人がいるなら Rational とかかな。

177:デフォルトの名無しさん
09/02/13 09:09:42
それこそ遅くて使いものにならないだろうけど
C#4.0ならdynamic使えばそのままleft + rightと書けるな

178:デフォルトの名無しさん
09/02/13 10:47:41
Nyaruruって大学生だっけ?

ガキに「さん」付けか・・・

179:デフォルトの名無しさん
09/02/13 11:12:29
能力も無いのに自分の方が年上ってだけで
見下した態度をとるのはみっともないぞ

180:デフォルトの名無しさん
09/02/13 12:58:20
Nyaruruって大学生だったのか

181:デフォルトの名無しさん
09/02/13 13:24:55
Nyaruruが大学生だったら俺プログラマやめるわ

182:デフォルトの名無しさん
09/02/13 14:26:16
なさけねー。

183:デフォルトの名無しさん
09/02/13 14:34:24
昔はC++を使っていて色々研究とかしてたけど・・・
いろんな言語使っている間に言語の濃い部分を積極的に学ばなくなってしまったな。

これは退化してるのかね・・・

184:デフォルトの名無しさん
09/02/13 14:38:49
羽根が短くなったのを退化ということもあれば進化ということもある。

185:デフォルトの名無しさん
09/02/13 15:26:43
低水準な所を濃いと言ってるならアセンブラかマシン語でもやれば?

186:デフォルトの名無しさん
09/02/13 15:47:23
誰もそんなこと言ってないと思うが
できるだけ楽に扱えるものを使って生産的なことをする人と楽に扱えるようにするために深い部分まで追及する人とどっちが優れてるとかないだろう
前者のが需要あるし

187:デフォルトの名無しさん
09/02/13 16:42:20
>>185
すでにアセンブラは68系と86系をあわせて6年くらいはやってましたよ。

188:デフォルトの名無しさん
09/02/13 16:46:24
ひよっこだな

189:デフォルトの名無しさん
09/02/13 16:49:26
甘い、甘すぎるよ。

俺なんて、C# を15年以上やってるけど、まだまだ力不足を感じてる・・・

190:デフォルトの名無しさん
09/02/13 16:52:11
俺なんてもう100年になるかな

191:デフォルトの名無しさん
09/02/13 17:38:48
紀元前からD言語を触ってるが、まだ完成しない

192:デフォルトの名無しさん
09/02/13 17:41:40
みんなたくましいなw

193:デフォルトの名無しさん
09/02/13 20:59:47
生まれて間もない猛者が、ここに質問してきた事もあったしw

194:デフォルトの名無しさん
09/02/13 21:35:55
>>177
ジェネリクスと同時に使うなら、dynamic よりも式木使い方がお勧め。

>>178
院生だろ。
あと、歳の上下で態度変えてたら見ず知らずの人と付き合いづらいよ。

195:デフォルトの名無しさん
09/02/13 22:23:41
ネット上で「君」とかつけて呼ぶの?

196:デフォルトの名無しさん
09/02/13 22:34:35
厳密にはC#の問題ではないかもしれないけど、ちょっとお助け願います。
Genericコレクション型のインスタンスをリモート処理時に参照渡しにするにはどうすれば良いでしょうか。

例えば、

class OtherSample : MarshalByRefObject {
  List<int> intList;
}

というコードでは、OtherSampleは参照渡しですがintListは自動的にシリアル化され値渡しマーシャリングされてしまいます。
なので、アクセッサを付けてintListを取得しても、リモート化されたインスタンスの値を変更できません。
適宜 intList に対するメソッドをOtherSampleに追加するしかないのでしょうか。


197:デフォルトの名無しさん
09/02/13 23:55:43
メソッド作ってなんか変わる?

198:デフォルトの名無しさん
09/02/14 00:38:48
メソッド作ってから彼女もできるし、ギャンブルでも大当たりだしいいことづくしだよ

199:デフォルトの名無しさん
09/02/14 00:46:04
class OtherSample : MarshalByRefObject {
  List<int> intList;
  public void AddInt( int n ) {
   intList.Add( n );
  }
}

で AddInt を使えばプロキシを介して参照渡しの OtherSample のメソッドが実行される。
そうすっと、OtherSampleの参照 の intList に値が追加される。

200:デフォルトの名無しさん
09/02/14 10:13:33
株価ボード的なアプリを作ろうと思っているのですが質問させてください

FormLoad時に動的にLabelを3000個ぐらい生成してるのですが
起動に1~2分ぐらいかかってしまいます。

何か良い方法はないでしょうか?

201:デフォルトの名無しさん
09/02/14 10:17:09
自分で描画しろよ(´・ω・`)

202:デフォルトの名無しさん
09/02/14 10:52:05
XNA使ってスプライトテキストで描画でもいいかも。
その場合はフォームとか使えないけどね。

203:デフォルトの名無しさん
09/02/14 11:01:13
GDIで十分じゃね

204:デフォルトの名無しさん
09/02/14 12:37:57
確かにGDIだけでも十分かな、ダブルバッファを有効にすればアニメーションもある程度滑らかだしね。

205:デフォルトの名無しさん
09/02/14 12:50:24
>200
Windows.Formsでコントロールを大量に作るとどうやってもそうなるよ。
そういう使い方ならWPFで同じことやれば結構スムーズに動きそうな気がする。

206:200
09/02/14 12:59:12
>>201-205
皆さん、どうもです。

VC++(MFC)で過去に作ったときは
CStatic の派生クラスを何個も作ってやってたので
Labelの派生クラスで何とかなるかと思ったら起動が遅くて・・・

ありがとうございました

207:デフォルトの名無しさん
09/02/14 13:03:09
そもそも3000個も表示するスペースがあるのか
一文字一個なのか

208:デフォルトの名無しさん
09/02/14 13:14:08
そりゃスクロールするんだろ…

209:デフォルトの名無しさん
09/02/14 13:23:13
ばらけた文字が集まったりとか盛大にアニメーションしたりして。

画面に表示される分だけプールから取得して再利用するようにすれば、
new()のコストかからないし、3000個も作らなくてすむんじゃない?

WPFでも詳しくはしらないけれど、スクロール可能な場合に画面に表示される部分だけ
子コントロールを生成するような仕組みがあったはず。ListViewとかだっけ?

210:デフォルトの名無しさん
09/02/14 13:28:06
それもバーチャンリストの場合だな

211:デフォルトの名無しさん
09/02/14 13:41:02
ウィンドウハンドルの上限って10000くらいじゃなかったっけ
そんな使い方してたらすぐ足りなく

212:デフォルトの名無しさん
09/02/14 13:43:02
.NET のラベルって、ウィンドウもってんだよな。
デスクトップヒープの関係もあるし、3000は多すぎだろ。

213:デフォルトの名無しさん
09/02/14 13:53:05
WPF なら確かにそういう問題ないけども読み込みに時間は
かかるわなぁ

214:デフォルトの名無しさん
09/02/14 13:53:50
いうほどかかんねえよ

215:200
09/02/14 14:29:58
>207
一画面だけで300銘柄(1銘柄辺り10要素)あるので
3000個必要なんですよね
画面サイズ的にはUXGAで余裕ありです。

データ更新時にデータを適当な形に処理して
Redrawする感じでVC++ではやってました。

216:デフォルトの名無しさん
09/02/14 14:51:40
URLリンク(www.woodensoldier.info)

これをReflector使ってソース出して動かせるようにしたいんですが
できる人いませんか?

217:デフォルトの名無しさん
09/02/14 14:53:43
何が知りたいの?

218:デフォルトの名無しさん
09/02/14 14:55:22
>>216
別に難読化されてるわけでもなく、逆アセできたけど?
何が問題なの?

219:デフォルトの名無しさん
09/02/14 14:58:07
フォームの形つくって、ソースをコピペして貼り付けてっても
エラーで出てしまうんです

220:デフォルトの名無しさん
09/02/14 15:00:00
エラーが出るとこ直していけばいいじゃん・・・

221:デフォルトの名無しさん
09/02/14 15:00:13
そうですか。あなたには無理ですね

222:デフォルトの名無しさん
09/02/14 15:00:23
まんま使えるとは限らんよ
ゴミ君

223:デフォルトの名無しさん
09/02/14 15:00:56
Reflector のプラグインで、.cs を吐いてくれるやつがあったな・・・
それ使えばいいんじゃね?

224:デフォルトの名無しさん
09/02/14 15:01:18
その上でソース作ってくれる人いませんか

225:デフォルトの名無しさん
09/02/14 15:02:55
いません。

226:デフォルトの名無しさん
09/02/14 15:03:24
>>223
kwsk!

227:デフォルトの名無しさん
09/02/14 15:06:15
ぐぐれ

228:デフォルトの名無しさん
09/02/14 15:07:37
なにが「kwsk!」だよw
それ質問する態度じゃねえじゃん
エロマンガの作者名じゃねえんだから、もうちょっと考えろよ

229:赤西仁
09/02/14 15:32:19
1年間悩んでます。お力をお貸しください。

アークザラッドⅡというタイトルのゲームの、ゲーム画像(歩行画像など)を抽出したいのですが、
かれこれ1年ほど経ちますが、なかなかうまくいきません。
*もちろん抽出した画像は個人範囲内で利用するつもりです。

◆試してダメだったこと

 ネット上からダウンロードできる、ありとあらゆる抽出系ツールを試した。
 (ちなみに他のゲームはほとんど抽出可能)

◆教わったこと

 ・アークザラッドⅡは独自の画像形式を使っているから抽出できない。
 ・PS上で表示されてるということは絶対に摘出はできるはず。

◆抽出は不可能ではないということを知ったとき

 2ちゃんねるで質問したところ、
 ある方が実際にキャラクターの歩行画像を抽出して
 私が立てたスレにアップしてくださいました。

スクリーンショットじゃ嫌なんです。どうか皆さん、お力をお貸しください。

230:デフォルトの名無しさん
09/02/14 15:35:43
アークザラッドII って、C# で作られてるの?
そうでなきゃ、スレ違い、ってことで。

231:デフォルトの名無しさん
09/02/14 17:18:47
>>223
ずっと探してるけど見つかりません
お願いします・・・

232:デフォルトの名無しさん
09/02/14 17:21:33
>>231
Reflector のプラグインなんてあまり数ないのに探して見つからないとかありえない。

233:デフォルトの名無しさん
09/02/14 17:22:50
>>231
URLリンク(www.codeplex.com)

234:デフォルトの名無しさん
09/02/14 17:34:22
使い方教えてください
童貞なんでう

235:デフォルトの名無しさん
09/02/14 17:51:58
チョコ食って寝ろ

236:デフォルトの名無しさん
09/02/14 19:36:20
>215
DataGridとかListViewを使った方がいいんじゃない?

237:デフォルトの名無しさん
09/02/14 19:44:37
>>233
はやくこれの使い方教えろよグズども

238:デフォルトの名無しさん
09/02/14 19:59:52
まずパンツを被ります

239:デフォルトの名無しさん
09/02/14 20:06:34
次にズボンを脱ぎます

240:デフォルトの名無しさん
09/02/14 20:24:54
おまえら親切すぐる

241:デフォルトの名無しさん
09/02/14 20:26:52
姉ちゃんのパンツを被ってズボンを脱いだので教えてください

242:デフォルトの名無しさん
09/02/14 20:30:13
ケツをバンバン両手で叩きながら白目をむきます。

243:デフォルトの名無しさん
09/02/14 20:47:51
切れて本当にすみませんでした、教えてくださいお願いします

244:デフォルトの名無しさん
09/02/14 22:14:58
まずは>>241の写真をうpしよう。

245:デフォルトの名無しさん
09/02/14 22:27:33
             __
            /-、r-ヽ
            |K>|K7|
          , へ 人ー^ー人 , へ
        / リノノ||  ̄ 7/巛 _ \
   ,.-― '" ゝー、) ||   .// (/ `  ` ー-、
  /    /_    ||  //    _ \   )
 (__/ ̄   |    ',Y/    /    ̄`ー '
  __     \   ||   /    __
 /XXXX<>x,..、_  l  ハ  | _,... rxXXXXXA
 |XXXX|XXX|::::l` ´ Y   ! '´  l::::|XXX|XXXX|
 |XXXX|XXX|::::|   |  |   |::::|XXX|XXXX|
 XXXX/\Xソ::ノ   ゝ-く     ゝ::ゝ/ lXXXX|

246:デフォルトの名無しさん
09/02/14 23:19:10
コピペ君って馬鹿だな、まで読んだ。

247:デフォルトの名無しさん
09/02/15 00:31:01
>>243
[View]-[Add-Ins]

248:デフォルトの名無しさん
09/02/15 02:29:54
>>241
うpまだ~?

249:デフォルトの名無しさん
09/02/15 04:04:57
       j//      /\ヽ∨//∠ヽ.    \\. \
      _/      ∠≠ニ二ニ≧=<´  ヘ.     ', ヘ\ヽ.      /
 _ -‐ ´/  ,   -‐´、_, '⌒`^  、 \::\ } l     ヽヘ ヽ}     /         _|_ \
   ̄ フ´,  /             丶\::V| |      Vl       ,'             |____
.  //./                   `Vヽl |      ヽ ' .     |         /|    ヽ
  / ,イ/                    Ⅵ/,       ヽ.\   |.   l       (_ノ  _ノ
  |/ /       |               ∨ヘ.      ト、 \_ |.   |
.  /     /  /  l:     /  l           ∨i    、   |  ̄   !  l       lヽ│/ /
  l│  /  イ  ,イ.    l  ト、ヽ     / | :l :|   |  l      |   ヽ_ノ   !ー┼‐ |‐┬
  | |   l_メ、」_,;./l     L  l V   ∧ /  :|/   ハ.  ト、   |          |./│ヽ l  |
  | ト.  |.____ ヽ    l´ヽ{ _⊥イ イ /   /    / l/⌒ヽ   .|  ー┼─ └─ l  |
  | | ヽ | 、i┘::::i  \  | r┬┬‐┬ァ V  ,∧.   ,'  ´       |   ー┼-
  レ   ヽ!  ゝ- '   \l  i,.┘:::::iノ / ,/〉│ :| {         |    _⊥_     l   |
.      7/l/l/   、     `'ー‐ ' ∠≠r'ノ:jノ :| |         |   (__丿 ヽ    レ  |
     λ    `i`ァー-- 、  /l/l/l ∧‐'.:|:::|  ハ ',        |              l
      `、     レ'    ',     ,/| ::| :|:::| ./ ヽ_>      _|   __|_       _ノ
        ` = 、 '、    ノ  ,.イ∧'|:l.:/l:::|´            \    ._|
              `>-r  =ニi´、.,_`::: |:| { |:::l             |  .(_|
          _,.イ´ヽ.7   /  /:\;八:V:ノ                 |    ノ
       /7:::::!  ○O'´  /::::::::/ヽ.  

250:デフォルトの名無しさん
09/02/15 11:57:16
>>247
なぜかできないので、替わりにgenerateしてもらえませんか


251:デフォルトの名無しさん
09/02/15 13:48:11
>>247
それやってexe選んでも何も起こらないんですけど

252:デフォルトの名無しさん
09/02/15 13:52:24
つか、俺の環境だと、アセンブリ右クリックして、Export でいけるな・・・

253:デフォルトの名無しさん
09/02/15 13:59:54
うpお願いします><

254:デフォルトの名無しさん
09/02/15 14:00:57
      ハ,,ハ
     ( ゚ω゚ )  お断りします
    /    \
  ((⊂  )   ノ\つ))
     (_⌒ヽ
      ヽ ヘ }
 ε≡Ξ ノノ `J


255:デフォルトの名無しさん
09/02/15 14:05:10
AlarmTimer\Property.cs
AlarmTimer\FormMain.cs
AlarmTimer\FormOption.cs
AlarmTimer\Properties\Settings.cs
AlarmTimer\Properties\Resources.cs
AlarmTimer.Properties.Resources.resources
AlarmTimer.FormMain.resources
AlarmTimer.FormOption.resources
AlarmTimer.AlarmTimer16Mono.ico
AlarmTimer.AlarmTimer16.ico
AlarmTimer.csproj
0 error(s).
Done.


こう出たんですがどこにエキスポートされてるんですか

256:デフォルトの名無しさん
09/02/15 14:06:57
んで、警告が一個でるけど、exe の方はビルドもOK。
->VS2008 へアップグレード後

・ライブラリは nunit が必要らしいので、逆アセせずに参照設定を変更して利用

簡単にできるじゃん・・・

257:200
09/02/15 14:08:28
DrawString で右寄せとか出来ますか?
株価が左寄せじゃ見にくい・・・

258:デフォルトの名無しさん
09/02/15 14:12:01
>>257
StringAlignment

259:デフォルトの名無しさん
09/02/15 14:16:19
Far

260:デフォルトの名無しさん
09/02/15 14:59:57
>>256
エクスポートできましたが1エラー2警告出てデバック開始してもだめでした・・・

261:デフォルトの名無しさん
09/02/15 15:01:11
>>260
じゃあ、エラーを修正しろよ。つーか、初心者スレ行けハゲ

262:200
09/02/15 22:21:05
>258-259
本当にありがとう、そこがよくわからなくて困ってました
おかげで外観は完成しました。 URLリンク(www.uploda.org)



263:デフォルトの名無しさん
09/02/15 22:23:37
なんとなくすごそう。これ、コントロールはいくつ使ってるの? 全部 DrawString() で描画?

264:デフォルトの名無しさん
09/02/15 22:37:30
WPF使いたくなるな

265:デフォルトの名無しさん
09/02/15 22:43:43
>>262
DataGridView はなんで使わないんだ?

266:デフォルトの名無しさん
09/02/15 22:48:44
でも個人的に好みだな、この外観はw

267:デフォルトの名無しさん
09/02/15 23:36:52
目に優しいな

268:デフォルトの名無しさん
09/02/16 00:51:39
再うっぷ汁(´・ω・`)


269:262
09/02/16 01:46:53
>>263-265
前の方にアドバイス頂いたので全部
DrawStringとFillRectangleとDrawLinesで書きました。
他のはややこしそうだったので・・・

まあ、こっちは意図通りに動いてくれれば
最新技術だろうと枯れた技術だろうと関係ないので
これで満足しています。

>>267
かなり目に・・・ですw
しかし、この色合いがお金を産み出してくれるんで仕方なしです。

270:デフォルトの名無しさん
09/02/16 22:43:08
動画をタグで管理するソフトを作りたいのですが、
タグ情報はどうやって保存するべきでしょうか?
xml?SQLで?その他?

イメージ的にはiTunesみたいな感じです

271:デフォルトの名無しさん
09/02/16 22:45:43
好きにしろよ

272:デフォルトの名無しさん
09/02/16 22:56:43
…検索速度とかバランス考えると組み込み DB がいいんでない。
エクスポートインポート機能ありな前提で。


273:デフォルトの名無しさん
09/02/16 22:58:48
AdobeReaderのdllを使わない、
C#から操作できるロイヤリティフリーな
PDFビューアコントロールでお勧めありませんか?

274:デフォルトの名無しさん
09/02/16 23:04:28
>>262
再ウプして欲しい。


275:デフォルトの名無しさん
09/02/16 23:13:24
何をだよw

276:デフォルトの名無しさん
09/02/16 23:14:10
SSでしょ。俺も404で見れなかった。

277:デフォルトの名無しさん
09/02/16 23:19:51
>>274
ほれ
URLリンク(www.dotup.org)

278:デフォルトの名無しさん
09/02/17 00:52:51
まともにできてるじゃないか。色遣いは別としてw

279:デフォルトの名無しさん
09/02/17 01:16:55
この色遣いはないわ-

280:デフォルトの名無しさん
09/02/17 01:39:04
せめて赤青黄の三色に統一するくらいの気概がないと。

281:デフォルトの名無しさん
09/02/17 01:43:16
創価乙

282:デフォルトの名無しさん
09/02/17 01:44:01
そうか?

283:デフォルトの名無しさん
09/02/17 02:13:40
じゃあ赤黄緑で。

284:デフォルトの名無しさん
09/02/17 02:13:48
大作だな

285:デフォルトの名無しさん
09/02/17 06:46:12
期待してたけどこの色遣いは・・・

286:デフォルトの名無しさん
09/02/17 09:01:41
この色に意味があるんだろう。なれた色で変えたくないとか。

287:デフォルトの名無しさん
09/02/17 09:04:35
あの色は夢で見た神様のお告げらしいよ

288:200
09/02/17 13:44:31
URLリンク(uproda.2ch-library.com)
金融系は ↑=赤、↓=緑 って決まってるからね・・・

ところで、小数2桁まで表示させたい(2 も 2.00 みたいに)とき
そうすればいいのかな? ToString("0.##") じゃだめみたいね。

289:デフォルトの名無しさん
09/02/17 13:46:07
>>288
別に「決まって」はいない
証券会社のツールいろいろ使ってればデフォルトが逆のやつもある
だから色はカスタマイズできるものが多い

290:デフォルトの名無しさん
09/02/17 13:55:24
>>288
"F2"
URLリンク(msdn.microsoft.com)

291:デフォルトの名無しさん
09/02/17 14:30:11
>>288
"0.##"って書いていて、どうして'0'の意味と'#'の意味を知らないのか謎だ。

292:デフォルトの名無しさん
09/02/17 17:32:39
自作クラスにBeginReceiveやBeginReadのような非同期動作のメソッドを加えたいのですが、どのように実装するものでしょう?

293:デフォルトの名無しさん
09/02/17 17:38:14
>>292
TCPの非同期通信したいの?
だったらググレばいっぱい出てくるよ
一言でレスできる内容じゃないし。
ESPして余計なこというとゲームで使うなら
非同期するよりポーリングしたほうがスマート。

294:デフォルトの名無しさん
09/02/17 17:47:06
>>292
非同期メソッド、非同期デリゲートで検索汁

295:デフォルトの名無しさん
09/02/17 17:55:04
>>293.294さん
レスありです

>>293さん、聞き方がまずくてすいません、通信ではなくて非同期に処理させたいんです
いちいちスレッドつくるのもめんどいなあと思って、そういやBeginなんたらとかはどうやって実装してるんだろ?聞いちゃえ、と

>>294さん、あなたがエスパーでよかった、ありがとうございます

296:デフォルトの名無しさん
09/02/17 22:51:10
>>288
URLリンク(uproda.2ch-library.com)

色盲の人が見ると・・・
URLリンク(ranobe.com)
URLリンク(ranobe.com)

297:デフォルトの名無しさん
09/02/17 23:01:12
ウ、ウンコ色!!

298:デフォルトの名無しさん
09/02/17 23:13:33
赤と緑は色盲的に最悪な色使い。全く区別がつかない。
色盲であると告白している小堺一機の
「紅葉が分からない」という言葉によく現れている。
その代わり赤紫と紫の区別はよくつくんだがね。

緑と紫なら色盲の人でもそうでない人でも区別しやすい。

299:デフォルトの名無しさん
09/02/17 23:14:41
赤と緑がわからない って言うけど、その2色は何色に見えるんだろうと思ったことがある

しかし色盲の人のことまで考えるかどうかはさすがに作る人の自由かと

300:デフォルトの名無しさん
09/02/17 23:15:35
>しかし、この色合いがお金を産み出してくれるんで仕方なしです。
から、この色合いが要求仕様なんだろ。
これに文句を言っても仕方がないよ

301:デフォルトの名無しさん
09/02/17 23:16:32
まあ単に個人で作るソフトならそうだわな。
オプションで色盲者のための色使いに切り替えられるようにしておくと優しさを感じるが。

302:デフォルトの名無しさん
09/02/17 23:19:09
>>299
色盲って黄色人種男性の5%、白人男性の8%、黒人男性の4%もいるんだぜ。
日本人男女40人のクラスの1人くらいは色盲ってくらい結構な割合だ。
黒板に赤いチョークで書かれると見辛いって言ってた人はいなかった?
多分その人は色弱か色盲だよ。

303:デフォルトの名無しさん
09/02/17 23:19:41
StreamReader使った後に元のStreamを閉じたくないときは
StreamReaderはDisposeせずに放置していいの?

304:デフォルトの名無しさん
09/02/17 23:21:48
うんそう

305:デフォルトの名無しさん
09/02/17 23:25:49
>>302
で、色盲専用に作り直せっていいたいわけ?

306:デフォルトの名無しさん
09/02/17 23:26:02
そういうとき、Disposeしないことが心配なので、Flushすることにしている。

307:デフォルトの名無しさん
09/02/17 23:26:41
>>305
なんで専用なんだ?

308:デフォルトの名無しさん
09/02/17 23:26:46
StreamReaderそのものはDisposeしちゃってもいいんじゃないの

309:デフォルトの名無しさん
09/02/17 23:28:15
>>307
言い方が悪かったな 訂正する

色盲がわかりやすい色を表示できるように作り直せっていいたいわけ?

310:デフォルトの名無しさん
09/02/17 23:30:08
色盲ネタはいい加減スレ違いだろ・・・

311:デフォルトの名無しさん
09/02/17 23:30:26
>>309
その方が望ましい。
わざわざユーザの幅を狭める利点は無い。

312:デフォルトの名無しさん
09/02/17 23:31:37
>>308
StreamReaderをDisposeしたら元のストリームも一緒に閉じられる

313:デフォルトの名無しさん
09/02/17 23:36:23
>>311
望ましいが、現実には難しいだろうな。
むしろ、OSのユーザ補助機能のレベルで実装すべき

314:デフォルトの名無しさん
09/02/17 23:37:02
>>302
けっこうみんな「みづらい」とは言ってたけどなあw
いつも後ろの席だったからかも知れないけど

315:デフォルトの名無しさん
09/02/17 23:39:15
>>311
お前が作ったいままでのソフトは、全部色盲対応なの?

316:デフォルトの名無しさん
09/02/17 23:41:13
自由に色設定できれば問題ないでしょ。
でも自分専用なら無理にやる必要もないと思うが。

317:デフォルトの名無しさん
09/02/17 23:42:35
なにも色設定しないのが一番

318:デフォルトの名無しさん
09/02/17 23:44:14
見にくいと見えにくいは違うからなぁ
色が見えていて派手で目が疲れるということと、
色そのものが見えなくて困るということは別個

319:デフォルトの名無しさん
09/02/17 23:45:13
いっその事文字も背景も黒でよくね?

320:デフォルトの名無しさん
09/02/17 23:47:01
ソフト自体によって色盲対応の個別の色を設定できるのも問題なんだろうな
だからOSの機能として、既存の色を問題がなく表示する機能を設定すべきなんだよ
ソフトによって赤を青に表示したり、緑に表示したりしちゃったら、利用者に影響が出るだろ?

321:デフォルトの名無しさん
09/02/17 23:49:26
おまいらの理想はよくわかった
だが全部スレ違いだ

322:デフォルトの名無しさん
09/02/17 23:55:20
理想ぐらいかたらせてやれよ

323:デフォルトの名無しさん
09/02/18 00:16:57
>>302
>色盲って黄色人種男性の5%
>日本人男女40人のクラスの1人くらいは色盲
ってことは女性に色盲はいないの?

324:デフォルトの名無しさん
09/02/18 00:19:19
>>323
男性に比べて非常に稀なだけでいることはいる

325:デフォルトの名無しさん
09/02/18 00:30:31
>>323
色盲と色弱がいるからな
完全な色盲だともっと低い

そんなの考えなくていいレベル
もちろんあれば便利だが

326:200
09/02/18 00:38:43
>>289
素人用のツールはそうかもね
>>290
ありがとう、マジ助かりました

327:デフォルトの名無しさん
09/02/18 00:44:11
URLリンク(www.microsoft.com)

このリンクのMSDN Library for Visual Studio 2005がダウンロードできなくなってるんだけど、
どこに引っ越したか知ってる人いる?
Windwos2000の再インストール後に見つからなくて困ってるのでよろしくお願いします

328:デフォルトの名無しさん
09/02/18 00:48:38
お前ら何で大騒ぎしてんの?

>>323
色覚異常はX染色体で遺伝する。
だからX染色体を1つしか持たない男性(XY)に多く、2つ持ってる女性(XX)に少ない。
500人に1人ぐらいの割合

329:323
09/02/18 01:01:01
>>324-325、>>328
そうなんだ。知らなかった。

  ┏┳┳┓   ハイ      ┏┳┳┓
┏┫┃┃┃   スレ違いは  ┃┃┃┣┓
┃┃┃┃┣┓  ここまで ┏┫┃┃┃┃
┃      ┃┃┏━━┓┃┃      ┃
┃スレ違い ┣┫*・∀・*┣┫. STOP!┃
┗━━┛┗┳━┳┛┗━━┛
            ┏┻┓┃
        ┏━┛  ┣┻┓
        ┗━━┫  ┗━┓
                ┗━━┛

330:デフォルトの名無しさん
09/02/18 01:03:58
素人用のツール(笑)

331:デフォルトの名無しさん
09/02/18 01:04:22
>>327
Visual Studio 2005 は既に販売が終了している製品なので
それに連動して公開停止になったのかも

今は以下が最新版
MSDN Library for Visual Studio 2008 SP1 (2008年12月更新版)

あと、MSDN Subscription に加入すれば過去のバージョンは
一通り入手できるハズ

332:デフォルトの名無しさん
09/02/18 01:05:39
>>328
劣性遺伝なの?

333:デフォルトの名無しさん
09/02/18 01:07:04
伴性劣性遺伝ってやつだな

334:デフォルトの名無しさん
09/02/18 01:08:26
なんで色盲・色弱にそんなにこだわるんだ?

普通に考えて、カスタマイズの余地皆無だったら
誰にとっても使いにくくなる可能性はあるだろ。
ユーザ=制作者のみってのでも無い限り

335:デフォルトの名無しさん
09/02/18 01:17:24
>普通に考えて、カスタマイズの余地皆無だったら
>誰にとっても使いにくくなる可能性はあるだろ。
んなこといったら、あらゆるすべての設定値を備えなければならないじゃん。
毎晩24時にbeep音を鳴らして寝ることを促す設定がないと、
それを必要とする人には使いにくいってーことになる。

そもそも万人向けにオプションの設定項目を多くするということは、
設定項目が多すぎて煩雑になるという点において万人向けでなくなる。

336:デフォルトの名無しさん
09/02/18 01:22:11
>>335
どうせ分かってて言ってんだろ?
アホか

337:デフォルトの名無しさん
09/02/18 01:38:18
韓国語表示がないのはウリナラへの差別ニダ!

338:デフォルトの名無しさん
09/02/18 02:05:00
設定なんて無くても
赤と緑じゃなく赤紫と緑にするだけで解決する問題なのに
なんでそんなに抵抗あるのかね?

339:デフォルトの名無しさん
09/02/18 02:05:54
サイケデリックはプロ用ツールの証ですw

340:デフォルトの名無しさん
09/02/18 02:35:21
>>338
それをする必要があるのかっていう問題じゃないの?

341:デフォルトの名無しさん
09/02/18 02:43:41
もともとの指摘も、色盲の人にとって、ではなくセンスがない色遣いだという点が主だったはず。
おそらく、赤紫と緑にしても、センスのなさそうなデザインであることは変わらないだろうから、
変えるのは無意味だと思う。

342:デフォルトの名無しさん
09/02/18 02:57:51
お前らが超ハイセンスなのは分かったからそろそろ黙って下さいませんかねこのやろう

343:デフォルトの名無しさん
09/02/18 03:00:36
センスとか以前に株とかで儲けやすいようなプログラムを作ってる奴に嫉妬してるだけじゃねえの
うひょひょ

344:デフォルトの名無しさん
09/02/18 03:06:45
おおかた343で図星ってところだろう

345:デフォルトの名無しさん
09/02/18 04:33:34
>>627
このあたりかな
URLリンク(support.microsoft.com)

ファイル以外のストリームには言及がないのでなんともいえないけど
少なくともファイルは特別に意識していて、ファイルから生成した
ストリームについてはそれを破棄するとイメージにアクセスできなくなるのが
仕様みたい

346:345
09/02/18 04:34:50
すみません
>>345は誤爆です

347:デフォルトの名無しさん
09/02/18 07:12:31
>>340
お前が思っているより色盲の人は遥かに多いから必要だ。

348:デフォルトの名無しさん
09/02/18 07:18:48
あほみたいに、いつまで青い議論を続けてるんだ。
単なる証券屋店頭の電光掲示板へのオマージュだろあれは。
俺的には文字の真ん中に切れ目のあるパネルがパタパタ音を立てて
回転するタイプのコントロールが欲しいな。

349:デフォルトの名無しさん
09/02/18 07:26:44
WPFのViewport3Dとストーリーボードアニメーションの出番だな。さあリッチインタフェースを
追求するんだ。

350:デフォルトの名無しさん
09/02/18 07:39:43
注文すると、発注内容書いた手紙が取引所まで3Dで飛んでいって届いたら実際に発注されるってどうよ。

351:デフォルトの名無しさん
09/02/18 10:58:31
>>348
俺も欲しい・・・


352:デフォルトの名無しさん
09/02/18 13:30:06
>>350
間違えて疑似嫁のデータを送ってしまうわけですね、わかります。

353:デフォルトの名無しさん
09/02/18 13:33:01
デシリアライズされるときコンストラク呼び出されないけれど同じようにユーザーコードからコンストラク呼び出しなしで生成すること可能?

354:デフォルトの名無しさん
09/02/18 13:35:43
>>353
エスパーしてみるけど
デシリアライズされた時点でオブジェクトのインスタンスは生成されてるんじゃないのか?

355:デフォルトの名無しさん
09/02/18 15:29:45
すまん、説明が悪かった。インスタンスは生成されるんだがコンストラクタは呼び出されないてない。
同じようにコンストラクタ通さずインスタンスだけ生成したいんです。

356:デフォルトの名無しさん
09/02/18 15:36:28
シリアライズされたオブジェクトファイルを自分で記述してデシリアライズすればいいんじゃね?

357:デフォルトの名無しさん
09/02/18 15:40:43
コンストラクタのオーバーロードでも作ってみるとか?
こんなん逃げじゃアカンかな・・・?(;´∀`)

public AAA()
{
 初期化();
}

public AAA(bool isIniti)
{
 if(isIniti == true)
  {
   初期化();
  }
}

private void 初期化()
{ほげ}

というか、コンストラクタに何も書かずに
コンストラクタみたいな感じの処理が
必要な時にSetInitializeみたいな関数作って呼ぶようにしたらダメなんだろうか…

358:デフォルトの名無しさん
09/02/18 15:41:46
いや、すでに独自のシリアライズのような仕組みがを実装していて、コンストラクタを呼ばないですむならそうしたいなと。

359:デフォルトの名無しさん
09/02/18 16:12:59
コピーコンストラクタの一種と思えば

360:デフォルトの名無しさん
09/02/18 17:05:59
>>347
なんで個人用ソフトでそんな対策する必要あるの?

361:デフォルトの名無しさん
09/02/18 18:38:57
あちらの素人馴れ合いスレで聞いても誰も答えてくれなかったのでこちらで質問させていただきます。

Microsoft.Samles名前空間以下のモジュールって自作アプリに組み込んで配布してもライセンス違反にならないでしょうか?

362:デフォルトの名無しさん
09/02/18 18:46:54
>>348
たまに裏返ったら擬似嫁が出てきて、
あわてるアニメーション後、また裏返って正しい表示に変わるやつが欲しいぜ!

363:デフォルトの名無しさん
09/02/18 19:09:26
>>362
自分で作れ

364:デフォルトの名無しさん
09/02/18 19:47:00
>>361
なりま

365:デフォルトの名無しさん
09/02/18 20:35:06
>>364

ありがとう。知らんなら黙っててください。

366:デフォルトの名無しさん
09/02/18 20:37:36
>>361
あー大丈夫だいじょーぶホント―にだいじょーぶw

367:デフォルトの名無しさん
09/02/18 20:43:44
>>361 こんなところに聞きにくるくらいなら自分で調べろ

368:デフォルトの名無しさん
09/02/18 20:54:53
>>365
黙りま

369:デフォルトの名無しさん
09/02/18 21:33:36
ここも素人ばかりですね
無駄口きいてないで少しは勉強したらどうですか?

370:デフォルトの名無しさん
09/02/18 21:37:21
匿名性の弊害

371:デフォルトの名無しさん
09/02/18 21:42:49
そもそもそんな大事なことをここで聞くな。
嘘だったらどうするんだ。
本家本元マイクロソフトさんに聞けばいいだろうに。

372:マイクロソフト
09/02/18 21:48:31
漏れも(゚⊿゚)ワカンネ

373:デフォルトの名無しさん
09/02/18 21:51:34
Microsoft.Samples 名前空間すべてを対象にした EULA、なんてものはない。
ということで、各サンプルの EULA に従う必要がある。

374:デフォルトの名無しさん
09/02/18 23:36:34
ぶつからないようにわざわざ名前付けてるのに
同じ名前付けてどうすんだよ

375:デフォルトの名無しさん
09/02/18 23:41:30
>>367
それ言い出したらム板の存在価値が・・

376:デフォルトの名無しさん
09/02/18 23:47:59
まぁでも、ライセンス関係は配布元に直接聞くほうが確実だしな。

377:デフォルトの名無しさん
09/02/18 23:54:43
訴えられた後だと遅いしね

378:デフォルトの名無しさん
09/02/19 00:11:45
すいません、ジェネリックに関しての質問です。

    public struct V2<T>{
        public T x;
        public T y;

        public V2( T x_, T y_ ){
            x = x_;
            y = y_;
        }

        public void Add( V2<T> v_){
            x += v_.x;
            y += v_.y;
        }
    }

このような構造体を作りたいのですが、Addメソッド内の
x、yそれぞれ加算しているところでコンパイルエラーとなってしまいます。

エラーの文言としては下記のものが出力されました。
「演算子 '+=' を 'T' と 'T' 型のオペランドに適用することはできません。」

これはTにどのようなものが指定されるか不明なので、
+=演算子が必ずしも使えない、よってこれをエラーとする。

このような理由でエラーが出ているのでしょうか?

また、宜しければ解決方法がございましたらお教えいただけたらうれしいです。

379:デフォルトの名無しさん
09/02/19 00:13:58
現スレの過去レスくらいは読め
>>145-177あたり参照


380:378
09/02/19 00:19:42
すいませんでした、早速読んできます。

381:デフォルトの名無しさん
09/02/19 00:27:14
その辺F#は華麗に実現できるのでまじお勧め

382:デフォルトの名無しさん
09/02/19 00:34:10
F#知らないんだけどどうやって実現してるの?
結局のところ,CLRで動かす以上は
・DynamicMethodを使ったコード動的生成やリフレクションなどによって動的に
・C++みたいにテキスト的に
の二つしか方法はないはずだけどどちらも華麗とは思えない

383:デフォルトの名無しさん
09/02/19 00:42:26
動的言語向けにCLRを拡張するんだよ。

384:デフォルトの名無しさん
09/02/19 00:47:14
DLRのことを言ってるなら,あれはCLRを拡張してるんじゃなくて
CLRの既存の機能を使用した単なるクラスライブラリにすぎないよ
>>382の上の方法に帰着する

385:デフォルトの名無しさん
09/02/19 08:05:50
今、F# をちょっと試してみたけど、型推論してるだけだな。

コマンドラインの方は触ってないけど、Visual F# で試したら、
全然動的なことしてなかった。


386:デフォルトの名無しさん
09/02/19 08:08:14
F#はちゃんとTに足し算させられるの?

387:デフォルトの名無しさん
09/02/19 08:15:32
手元にある F# の本の、ContentsとIndexをざっと眺めてみたけど、
ジェネリックス自体どこにもない。

>>381 に詳細聞きたい。

388:デフォルトの名無しさん
09/02/19 10:51:25
基本的にはOCamlだから文法上の静的型付けで解決するのでって話だと思ってたけど
それともF#はILのジェネリクスを使うように拡張されてる?
だとしたら同じくエラーになる気がする

389:デフォルトの名無しさん
09/02/19 14:23:06
System.Windows.Controls.TextBoxを160個並べて0.2秒に一回、Textに文字列を入れてるんですが
ときどきアプリ全体が劇重になってしまいます
Textに文字列を入れる部分だけコメントアウトすると重くなりません
これを回避する方法はあるでしょうか?
TextBoxを使ってると諦めるしかないのでしょうか?

390:デフォルトの名無しさん
09/02/19 14:32:53
非同期でぐぐれ

391:デフォルトの名無しさん
09/02/19 14:36:50
非同期処理してます

392:デフォルトの名無しさん
09/02/19 14:46:11
GCの影響?

393:デフォルトの名無しさん
09/02/19 16:00:15
InvokeではなくBeginInvoke使ってみるといいんじゃね?


394:デフォルトの名無しさん
09/02/19 16:29:43
TextBoxは重量級のコントロールだから160も並べたらそういうこともあるだろうな。
Labelじゃだめなん?

395:デフォルトの名無しさん
09/02/19 16:59:09
上のほうでも出てるけど、文字の出力だけでいいなら
LabelかGDIでいんじゃない?

396:デフォルトの名無しさん
09/02/19 17:28:35
Labelに変えたらスムースに動作するようになりました
ありがとうございました

でも右寄せ表示する方法が分からない
困った

397:デフォルトの名無しさん
09/02/19 17:41:09
AutoSizeをfalseにしてTextAlignでいけない?

398:デフォルトの名無しさん
09/02/19 17:47:12
右寄せの方法みつかった
Style style = new Style(typeof(ListBoxItem));
style.Setters.Add(new Setter(ListBoxItem.HorizontalContentAlignmentProperty,
HorizontalAlignment.Stretch));

ほんとWPFわけわからん
みなさん、ありがとうございました~

399:デフォルトの名無しさん
09/02/19 17:56:58
WPFかよ
プロパティでデザイン時にも指定できるからそこからわかるべ。

400:デフォルトの名無しさん
09/02/19 18:13:17
そもそもItemsControlとか使ってバインディング
コードからコントロール生成しない
データソースを変更すれば勝手に表示が変わる

ってのがWPFの方向性

401:デフォルトの名無しさん
09/02/19 19:58:01
ADOとベタベタ

402:デフォルトの名無しさん
09/02/19 22:30:16
WPFで文字表示するだけならLabelよりもTextBlockのほうが軽いよ

403:デフォルトの名無しさん
09/02/19 23:06:40
ありがとうございます
さっそく修正しました

404:デフォルトの名無しさん
09/02/20 08:59:24
結構みんなWPF使ってるものなの?

405:デフォルトの名無しさん
09/02/20 09:10:51
使われてないよ

406:デフォルトの名無しさん
09/02/20 09:39:04
デフォルトのスタックサイズを変更するにはどうすればいいですか?

407:デフォルトの名無しさん
09/02/20 09:58:52
変更しなくていいよ

408:デフォルトの名無しさん
09/02/20 12:08:48
わろたww

409:デフォルトの名無しさん
09/02/20 12:15:21
わらわなくていいよ

410:デフォルトの名無しさん
09/02/20 12:25:07
吹いたw

411:デフォルトの名無しさん
09/02/20 13:06:39
汚いから拭いとけよ

412:デフォルトの名無しさん
09/02/20 13:08:07
いっぱい釣れたぜ
ショボン

413:デフォルトの名無しさん
09/02/20 16:35:13
キャッチしたらリリースしとけよ

414:デフォルトの名無しさん
09/02/20 20:20:11
海外の掲示板で質問したらすぐに答えがもらえました
ここの馬鹿な人たちとは大違いですね^^;
もう2度と来ません
ノシ

415:デフォルトの名無しさん
09/02/20 20:21:40
おまえだれ?

416:デフォルトの名無しさん
09/02/20 20:45:20
おれおれ

417:デフォルトの名無しさん
09/02/20 20:46:23
>>406
とりあえず、リンカで。

418:デフォルトの名無しさん
09/02/20 21:57:44
シェイラのそっくりさん?

419:デフォルトの名無しさん
09/02/20 22:09:09
>>417
根中 千恵子?

420:デフォルトの名無しさん
09/02/20 22:54:17
海外の掲示板に質問書き込むスキルはあるのにググるスキルはなかったのか・・・

421:デフォルトの名無しさん
09/02/21 00:52:53
この国の人ではないのかもしれん罠

422:デフォルトの名無しさん
09/02/21 01:30:42
つまり海外って日本のことか

423:デフォルトの名無しさん
09/02/21 01:32:33
2chを一つの国と考えてるかも試練

424:デフォルトの名無しさん
09/02/21 18:22:55
C#で省略可能引数の既定値を指定する方法はありますか?
[opt]属性はOptionalAttributeを付けることで付けられるようですが

425:デフォルトの名無しさん
09/02/21 18:27:51
引数のないメソッドでオーバーロードすればいいんでないの?

426:デフォルトの名無しさん
09/02/21 18:29:44
>>424
(1) 素直にオーバーロードを使う
(2) 引数をNullableにする

427:デフォルトの名無しさん
09/02/21 18:35:19
C#4.0をじっと待つ

428:424
09/02/21 18:43:53
省略可能引数をC#で使いたいわけではなくて,
VBで省略可能引数にしたときの既定値のメタデータを付けたいだけなんです
リフレクションで既定値の取得もできるみたいですがやっぱり設定するのは無理なんですかね

429:デフォルトの名無しさん
09/02/21 18:53:19
いや言ってる意味が。。

430:423
09/02/21 18:58:41
ごめんなさい
VBで省略可能引数の既定値を設定した場合,
既定値の情報はメタデータとしてメソッドに付加されます。
それと同じ形式のメタデータをC#で付けたいということです。
具体的にはこういうILです
.param [1] = "既定値"

431:デフォルトの名無しさん
09/02/21 19:08:08
リフレクタで言語をC#にして見てみたらどんな属性を付与しているのか分かるのでは?

432:デフォルトの名無しさん
09/02/21 19:12:59
URLリンク(msdn.microsoft.com)
これとか違うの?

433:424
09/02/21 19:18:01
>>432
[Optional, DefaultParameterValue("既定値")]でうまくいきました
ありがとうございます

434:432
09/02/21 19:19:19
URLリンク(stackoverflow.com)
正解っぽい。

435:デフォルトの名無しさん
09/02/21 19:21:30
あ、解決済みか。
これやってもC#で省略可能引数が使えるわけじゃないみたいね。
でも、アセンブリをVBから呼び出す時には省略可能になる引数を持つメソッドを
C#で定義できるのは興味深い。

436:デフォルトの名無しさん
09/02/21 23:35:48
逆の例もあるよ。
outはVBにないけど、Out属性付きのByRef引数はC#からout引数として扱われるというもの。

437:435
09/02/21 23:40:52
あーなるほど、ByRefだけだとref引数扱いになるのか。

438:デフォルトの名無しさん
09/02/22 01:49:55
4.0の動的型付け変数と、3.0の暗黙的型付けって、どういうときべんりなの?
大幅に労力が削減されるような利用法が思い浮かばないんだけど。

439:デフォルトの名無しさん
09/02/22 02:02:04
>>438
リフレクションやComInterop、やDLR対応の動的言語と相互運用する場合かな。
いろいろdymamicに期待してる人が要るけど、
dynamic型同士で + - * / などの演算はサポートされていないから、
プリミティブ型をdynamicにするのはナンセンス。


440:デフォルトの名無しさん
09/02/22 02:12:30
>>439
多言語との相互運用という趣旨ならわかるけど、
静的言語として、こういうのを許容しちゃうのって、どうなんだろう
コンパイル時にはエラーにならなくて、実行時にしかエラーにならないんでしょ?

暗黙型付けも、自分で型をしっかり宣言して、それで使うということで、
ユーザの思い込みの余地を減らすことが大事ということで
静的言語のメリットがあると思ってたんだけど、
なんか曖昧的なものを受け入れるような気がしていやな感じがする。

441:デフォルトの名無しさん
09/02/22 02:18:27
いやなのは使わなきゃいいだけ。


442:デフォルトの名無しさん
09/02/22 02:23:28
使わなきゃいいって言われても、
自分だけで成り立つ世界じゃないからなぁ
嫌でも他人のソースを見ることになるわけで

443:デフォルトの名無しさん
09/02/22 02:32:26
ヘジの言葉送ってやるよ。
「静的な型として動的な型を導入するんだ」

機能的には相互運用、さらに相互運用。プレゼンも基本それしか
出てこない。動的型前提な言語との相互運用、ライブラリを使う
ときに死ぬるんだよ現状。
しかも JavaScript だの IronPython だの DLR だの利用ケースが
増えていってやがる。

そういや雑談な話になるんだが、コンポーネントモデル周りは
ほとんど動的な要素で構成されてるよな。
なんでいまさら動的だからどうこうとかなるんだろうな

444:デフォルトの名無しさん
09/02/22 02:34:54
今までだって動的なことできたわけでそれが楽になるだけ
C#はそんなに強い静的型付け言語じゃない


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch