C#, C♯, C#相談室 Part41
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/07/19(木) 19:14:13前スレ
C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/
過去スレは>>2-5あたり。
0002デフォルトの名無しさん
2007/07/19(木) 19:15:52Part37 http://pc11.2ch.net/test/read.cgi/tech/1173763436/
Part37 http://pc11.2ch.net/test/read.cgi/tech/1169110545/
Part36 http://pc10.2ch.net/test/read.cgi/tech/1165656839/
Part35 http://pc8.2ch.net/test/read.cgi/tech/1162490865/
Part34 http://pc8.2ch.net/test/read.cgi/tech/1157549657/
Part33 http://pc8.2ch.net/test/read.cgi/tech/1153537081/
Part32 http://pc8.2ch.net/test/read.cgi/tech/1149934230/
Part31 http://pc8.2ch.net/test/read.cgi/tech/1145075577/
Part30 http://pc8.2ch.net/test/read.cgi/tech/1141448072/
Part29 http://pc8.2ch.net/test/read.cgi/tech/1138925245/
Part28 http://pc8.2ch.net/test/read.cgi/tech/1134514022/
Part27 http://pc8.2ch.net/test/read.cgi/tech/1131544541/
Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
0003デフォルトの名無しさん
2007/07/19(木) 19:16:42Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
0004デフォルトの名無しさん
2007/07/19(木) 19:17:23Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0005デフォルトの名無しさん
2007/07/19(木) 19:18:05http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
ふらっとC♯, C#(初心者用) Part17
http://pc11.2ch.net/test/read.cgi/tech/1182948981/
MSDNライブラリ
http://msdn.microsoft.com/library/ja/
MSDN2
http://msdn2.microsoft.com/ja-jp/library/default.aspx
pinvoke.net: the interop wiki!
http://pinvoke.net/
0006デフォルトの名無しさん
2007/07/19(木) 19:18:47http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
.NET Framework SDK (2.0)
http://msdn2.microsoft.com/ja-jp/library/ms310244.aspx
MSDN Visual C# Express Edition フォーラム
http://forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
http://vsug.jp/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
0007デフォルトの名無しさん
2007/07/19(木) 19:54:11http://www.borland.com/jp/products/csharpbuilder/index.html
Turbo C#
http://www.turboexplorer.com/csharp
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
MSDN ライブラリ 2006 年 12 月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=94596af5-cc58-45af-a14b-df627a31e783&DisplayLang=ja
0008デフォルトの名無しさん
2007/07/19(木) 20:52:220009デフォルトの名無しさん
2007/07/19(木) 23:29:110010デフォルトの名無しさん
2007/07/20(金) 02:21:39LargeStruct hoge;
bool ok = false;
try {
ok = PossiblyThrowsError(out hoge);
} catch { }
if (!ok) hoge = new LargeStruct();
この時点でhogeが未初期化ってことになってるため利用できない。
宣言時に初期化するしかないのかな?
0011デフォルトの名無しさん
2007/07/20(金) 02:34:200013デフォルトの名無しさん
2007/07/20(金) 02:44:400014デフォルトの名無しさん
2007/07/20(金) 02:46:01finallyで初期化しろよ。ばっかじゃねえの。
0015デフォルトの名無しさん
2007/07/20(金) 02:46:11PossiblyThrowsErrorが呼ばれる前に非同期例外が発生すると
hogeが未初期化のままcatch以降に流れうるので、
一応コンパイラの言ってることは正しい。
まあ非同期例外というと、キャッチしても再送されるThreadAbortExceptionとか
そもそもキャッチできなくなってしまったStackOverflowExceptionとか
ろくでもないのばっかりだけどな。
0016デフォルトの名無しさん
2007/07/20(金) 02:48:23bool PossiblyThrowsError(out LargeStruct hoge) { throw new Exception(); }
非同期例外に限らないだろ。
0017デフォルトの名無しさん
2007/07/20(金) 02:48:24ifで初期化してるのになんでelseでも初期化するの?
0018デフォルトの名無しさん
2007/07/20(金) 02:51:04cache節の中にも初期化処理書けばいい。
0019デフォルトの名無しさん
2007/07/20(金) 02:51:39○cache
×catch
002110
2007/07/20(金) 02:52:27それだと全く意味がないと思うんだが・・・
>>14
finallyに移したところで状況は全く変わらないかと。
>>15
うーんそう言われてみればたしかにそうかも・・・
しかしそんな万に一つも起こらないケースのために二重初期化を強制されるのは
納得がいかないが・・・まあ仕方ないのかなあ。
0022デフォルトの名無しさん
2007/07/20(金) 02:55:480023デフォルトの名無しさん
2007/07/20(金) 03:00:58try {
PossiblyThrowsError(out hoge);
} catch {
hoge = new LargeStruct();
}
こう?
002410
2007/07/20(金) 03:01:45いずれにせよ初期化はされるんだ。
ってことはやっぱ二重初期化は本来必要ないってことだよね?
>>21の後半は取り消しで。
>>18 >>22
LargeStruct hoge;
bool ok = false;
try {
ok = PossiblyThrowsError(out hoge);
} catch { ok = true; hoge = new LargeStruct(); }
if (!ok) hoge = new LargeStruct();
ってことっすね。失敗時の初期化が二箇所に分かれるのは気持ち悪いけど、
これしかなさそうですね。
0025デフォルトの名無しさん
2007/07/20(金) 03:05:10002610
2007/07/20(金) 03:12:28まあこういうメソッドがあったらという仮定というか前提の上での話なんで。
PossiblyThrowsErrorがfalseを返した場合、hogeは何らかの初期化がなされてるとはいえ
何が入ってるかはわからないので初期化しておきたいという話です。
0027デフォルトの名無しさん
2007/07/20(金) 04:23:04まあ、実際にそういうメソッドがあるなら設計を見直したほうがいいと思うが。
0028デフォルトの名無しさん
2007/07/20(金) 06:28:24LargeStruct hoge = null;
0029デフォルトの名無しさん
2007/07/20(金) 06:45:33C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/
0030デフォルトの名無しさん
2007/07/20(金) 07:03:03値型だから
LargeStruct? hoge = null;
じゃないと駄目。
>>10
やっぱりPossiblyThrowsErrorが例外を投げるのが諸悪の根源じゃねw
0031デフォルトの名無しさん
2007/07/20(金) 07:13:340032デフォルトの名無しさん
2007/07/20(金) 07:16:48C#, C♯, C#相談室 Part40
http://pc11.2ch.net/test/read.cgi/tech/1181979651/
0033デフォルトの名無しさん
2007/07/20(金) 07:45:43値型かそしたらこれで初期化。
LargeStruct hoge = new LargeStruct();
0034デフォルトの名無しさん
2007/07/20(金) 10:57:04想定範囲内のエラーでは例外はコストが高いのでfalseを返し、
想定しないエラーはより情報の多い例外を使う、とか?
0035デフォルトの名無しさん
2007/07/20(金) 10:58:16関係ないけどLargeStructという名前にすごく違和感を感じる
0036デフォルトの名無しさん
2007/07/20(金) 11:08:32structをnewで初期化するはそれで正しいのだろうけどひどく違和感がある。
=で代入してないんだよなそれ。
0037デフォルトの名無しさん
2007/07/20(金) 11:55:190038デフォルトの名無しさん
2007/07/20(金) 12:39:26hoge を if の中で宣言するんじゃだめなのか?
if の中でしか初期化しないものを、if(!ok) 以外の時にも使うとは思えない。
>>34
例外処理である try の中でさらに例外起こすような処理してるのも気持ち悪いけど。
>>37
そう思う。
struct にするのは、せいぜい十数バイトくらいまでだと思う。
0039デフォルトの名無しさん
2007/07/20(金) 13:23:050040デフォルトの名無しさん
2007/07/20(金) 15:26:430041デフォルトの名無しさん
2007/07/20(金) 15:39:360042デフォルトの名無しさん
2007/07/20(金) 15:52:45もしホントにそれだけの処理なら、
try {
if (!PossiblyThrowError(out hoge))
throw new Exception("hoge is not initialized");
} catch {
hoge = new LargeStruct();
}
でいいんじゃない?
0043デフォルトの名無しさん
2007/07/20(金) 16:08:26参照が違います
0044デフォルトの名無しさん
2007/07/20(金) 19:32:34System.Windows.Forms.ListViewのオーナー描画に関して
DrawListViewSubItemEventArgsで、DrawText()で描画したテキストの位置と
DrawDefaultプロパティをtrueに設定して描画されたテキストの位置が異なるんですよ。
オーナー描画している行もデフォルトで描画されたものとテキストの位置と
同じ位置に描画して欲しいんですが、どうすればよいのでしょうか?
004544
2007/07/20(金) 19:36:11開発環境はVisualStdio2005
OSはWindowsXP
知りたいことはオーナー描画時にDrawDefaultプロパティを使用せずに
デフォルトと同じ描画を行うにはどうすればよいのか、ということです。
0046デフォルトの名無しさん
2007/07/20(金) 19:45:58ReflectorでListViewの実装を覗けば
自己責任で
0047デフォルトの名無しさん
2007/07/20(金) 22:21:06スタイルで位置が変わるんじゃないの?
ウィンドウ枠とか...
0048デフォルトの名無しさん
2007/07/20(金) 22:25:050049デフォルトの名無しさん
2007/07/20(金) 23:29:49VS2003 C# framework1.1の環境でwindowsアプリを開発しているのですが、
Vistaでのみ二重起動されたときに先に起動していたプログラムをアクティブにする処理で例外が発生します。
ソースはほぼ下記のサイトのままです。
ttp://jeanne.wankuma.com/tips/process/activewindow.html
どうやらProcess.GetProcessesByName()ですべてのProcessを取得しようとするとUAC制御に引っかかるみたいです。
ユーザーが実行しているプロセスだけ取得する方法や、他に指定のプロセスをアクティブにできる方法がございましたら
教えていただけると幸いです。
0050デフォルトの名無しさん
2007/07/20(金) 23:48:200051デフォルトの名無しさん
2007/07/21(土) 05:46:390052デフォルトの名無しさん
2007/07/21(土) 09:57:320053デフォルトの名無しさん
2007/07/21(土) 10:03:24できません
0054デフォルトの名無しさん
2007/07/21(土) 10:09:120055デフォルトの名無しさん
2007/07/21(土) 10:10:570056デフォルトの名無しさん
2007/07/21(土) 10:12:160057デフォルトの名無しさん
2007/07/21(土) 10:16:050058デフォルトの名無しさん
2007/07/21(土) 10:24:19.NetアプリはVC#使ってる
0059デフォルトの名無しさん
2007/07/21(土) 12:11:580060デフォルトの名無しさん
2007/07/21(土) 12:14:18仕事をしているのか想像つかんのかしら。
intひとつとってもそこにある型情報をどこで管理してるんでしょーね。
0061デフォルトの名無しさん
2007/07/21(土) 12:39:221.1だとなんでもないと思うような処理が内部でUACに引っかかるものを使ってるので2.0にするだけで解決するよと思うよ。
取りあえず2.0を使うよう指定したアプリケーション構成ファイルを配置して実行してみたら?
SendKeyなんかはUACに引っかかるものの修正パッチが出てたのでがんばって指摘してけばパッチが出るのかもしれんがVistaをターゲットにするなら1.1を捨てた方が早い。
0062デフォルトの名無しさん
2007/07/21(土) 14:50:47C#側での定義がわかりません。StringBuilder[]で試してみたのですが、
正しく渡せていないようです。ご存知の方、ご教授お願いします。
0063デフォルトの名無しさん
2007/07/21(土) 14:55:570064デフォルトの名無しさん
2007/07/21(土) 14:57:45VC#に以降することになりました。
ぶっちゃけVC#でVCの機能であぼ〜んされて
まんま移行できなくなる機能とかってありますか?
それともVC#で今までのコードをまんま移行できるくらい
問題ありませんか?
(それでしたら導入の意味ないだろって突っ込まれそうですが
馬鹿な顧客が新しいもの好きで深い考えなしに要求してきたのです)
0065デフォルトの名無しさん
2007/07/21(土) 15:01:26データの型(char**)だけ書かれてもエスパーにしか解答できないでしょ。
char**で渡すデータの意味がわからないと。
0066デフォルトの名無しさん
2007/07/21(土) 15:04:22まんま移行って何?
もとのコードのままVC#で再コンパイルって事?
コードは書き直さないといけないよ
C/C++とC#は別の言語
0067デフォルトの名無しさん
2007/07/21(土) 15:06:20VC++で作ってた部分をネイティブdllにまとめて
エントリポイントをC#から呼び出すだけでいいんじゃね
0068デフォルトの名無しさん
2007/07/21(土) 15:06:28説明が不足しており、もうしわけありません。
main(int args, char** argv)に渡すやつです。
ですから、参照渡しではなく文字列配列です。
0069デフォルトの名無しさん
2007/07/21(土) 15:21:48C#が基本的にC++の拡張というわけではないんですね。
誰だVCとC#は同じようなもんだって言ってた奴は・・・
0070デフォルトの名無しさん
2007/07/21(土) 15:23:19これじゃダメ?
http://msdn2.microsoft.com/ja-jp/library/hk9wyw21(VS.80).aspx
0071デフォルトの名無しさん
2007/07/21(土) 15:25:05それC++/CLIの間違いじゃないの?
C++を拡張したVC++2005で使える新言語
0072デフォルトの名無しさん
2007/07/21(土) 15:27:480073デフォルトの名無しさん
2007/07/21(土) 15:31:24ああ、そうかもしれんね
>>69
だとしたらとりあえずこの辺り読んでみるといいかも
http://ja.wikipedia.org/wiki/C++/CLI
http://msdn2.microsoft.com/ja-jp/library/ms235289(VS.80).aspx
0074デフォルトの名無しさん
2007/07/21(土) 15:32:27まあ将来を見据えてのことでもらしいんですが。
ちょっとだけ独習したんですが
クラスやらなにやらの概念はそれほど違ってないっぽいですが。
後、MFCなどの利用もやろうと思えば今まで通り利用できるんですよね?
C#習熟者から見てものっそい冗長なことしてるって思われるだけで
0075デフォルトの名無しさん
2007/07/21(土) 15:39:160076デフォルトの名無しさん
2007/07/21(土) 15:39:350077デフォルトの名無しさん
2007/07/21(土) 15:41:420078デフォルトの名無しさん
2007/07/21(土) 15:41:520079デフォルトの名無しさん
2007/07/21(土) 15:43:000080デフォルトの名無しさん
2007/07/21(土) 15:44:40応用がきくとかいう考えは止めたほうがいいってことですね。
なんかスレ荒らしみたいになってしまってすみませんでした。
0081デフォルトの名無しさん
2007/07/21(土) 15:46:13あちこちで言われているみたいね。
Java との比較としていくつかのポイントがあるんだけど、
そのなかでも delegate というのがどうにも乱暴な機能だなぁと思います。
つーか、言語設計者は何考えてんだと突っ込みたくなるね。
0082デフォルトの名無しさん
2007/07/21(土) 15:46:470083デフォルトの名無しさん
2007/07/21(土) 15:47:36日記はチラシの(r
0084デフォルトの名無しさん
2007/07/21(土) 15:55:490085デフォルトの名無しさん
2007/07/21(土) 16:03:22現状のJava VS Rubyの状況の伏線と思うと興味深い。
ttp://java-house.jp/ml/archive/j-h-b/001862.html
>Javaでは無理なんじゃないでしょうか?
>
>こういうのを「オブジェクト指向的に美しく」実現するには(私の
>思い付く方法は),
> * 特異メソッド(特定のオブジェクトにメソッドを定義する)
> * クロージャ(手続きをオブジェクト化する)
>がありますが,どちらもJavaにはありません(よね).
>
>JVMのコードを吐くschemeの計画などあるようですから,それがで
>きれば後者は実現できるかも知れませんね.
>
> まつもと ゆきひろ /:|)
0086デフォルトの名無しさん
2007/07/21(土) 16:04:100087デフォルトの名無しさん
2007/07/21(土) 16:06:16ttp://java-house.jp/ml/archive/j-h-b/019802.html
>次に、"delegate" という言語機能そのもののセンスの悪さについて考えてみ
>ましょう。
>
>(中略)
>
>以下、もしこの予想が当りなら、ですが、
>
>なんとまあセンスの悪い言語設計でしょう。こういうのが本当に有効なのなら、
>言語とは別のレベルでフレームワークとして用意すべきではないでしょうか。
>プリプロセッサにしてもいいし、開発環境が自動生成するのでもいいし、rmic
>のようにスタブジェネレータを併用してもいいでしょう。
>
>そんなんでは世の unsophisticated people が便利じゃないと感じるだろうか
>ら、レベルが違うものを言語の中にごちゃ混ぜに入れ混んでしまったのでしょ
>うか。やはり「unsophisticated peopleに媚びた設計」か?
>
>そもそもまともな言語設計者ならポリシーが許さないとおもうんですが、
>もしかして、Hejlsberg 氏自身が unsophisticated なのかな。
>
>(中略)
>
>高木 浩光@電子技術総合研究所
>http://www.etl.go.jp/~takagi/ (工事中)
>#「ms.com」は米国モルガンスタンレー証券のドメイン名です。
0088デフォルトの名無しさん
2007/07/21(土) 16:08:52されてんじゃね?
0089デフォルトの名無しさん
2007/07/21(土) 16:13:030090デフォルトの名無しさん
2007/07/21(土) 16:14:27別に他人の意見を参照することが悪いとは言わないが、(むしろ好ましいが)
ただコピペして何の意味があるのかね。
他人の威を借りて自分を大きく見せてるつもりか。
だとしたら情けない心情だよなw
0091デフォルトの名無しさん
2007/07/21(土) 16:15:050092デフォルトの名無しさん
2007/07/21(土) 16:22:14・・・夏だな
0093デフォルトの名無しさん
2007/07/21(土) 16:22:310094デフォルトの名無しさん
2007/07/21(土) 16:24:14ひろみちゅが語ってるのは、ドトネトのdelegateじゃなくて
Visual J++時代にMS拡張として提案されてた奴のことね。
ttp://www.asahi-net.or.jp/~dp8h-izn/delegate.html
0095デフォルトの名無しさん
2007/07/21(土) 16:30:13結局javaに導入されまくってるのは悪い冗談かと思ったわ
0096デフォルトの名無しさん
2007/07/21(土) 16:31:58ヒント:「Java子はツンデレ」
0097デフォルトの名無しさん
2007/07/21(土) 16:35:49仮定してまで批判したいものだったのかね
0098デフォルトの名無しさん
2007/07/21(土) 16:49:04tp://takagi-hiromitsu.jp/diary/
0099デフォルトの名無しさん
2007/07/21(土) 16:50:05http://blog.goo.ne.jp/akatoza/e/a25ea26da02640b53f509d46a36ac0e2
語ってください。
0100デフォルトの名無しさん
2007/07/21(土) 16:59:28>でもどんな関数でも delegate に利用できるわけじゃないんだよね。
>始めにこれに気付いたときはびっくりした。
>ちょっと勘弁してくれ、と思ったね。
>プロパティを delegate に利用できないなら、
>結局プロパティより getter/setter を使うほうが有利になっちゃうってことだよね。
>これじゃ本末転倒じゃないの。
Hoge x;
Action<int> setter = i => x.IntProp = i;
Func<int> getter = () => x.IntProp;
まあ一段ラップされるからあんまり綺麗じゃないけど。
0101デフォルトの名無しさん
2007/07/21(土) 17:03:010102デフォルトの名無しさん
2007/07/21(土) 18:32:06普通「ふ〜ん、そういう意見もあるのね」で終わりじゃねーの?
0103デフォルトの名無しさん
2007/07/21(土) 20:18:40プロパティって外からはフィールドのように見せるのが目的なんだから突然メソッドに変身するのは変だろ
0104デフォルトの名無しさん
2007/07/21(土) 20:31:03普通にデリゲートで出来ることだけやればいいのに。
0105デフォルトの名無しさん
2007/07/21(土) 21:05:290106デフォルトの名無しさん
2007/07/21(土) 21:14:45int X{get{return 1;}}
Getter f = new Getter(get(this.X));
こんな感じにすればいいの?
0107デフォルトの名無しさん
2007/07/21(土) 21:46:380108デフォルトの名無しさん
2007/07/21(土) 22:02:410109デフォルトの名無しさん
2007/07/21(土) 22:09:030110デフォルトの名無しさん
2007/07/21(土) 22:32:110111デフォルトの名無しさん
2007/07/21(土) 23:33:55ってStringFormatにStringAlignment.Far(右寄せ)を指定すると
勝手にPointFが左上隅ではなくて、右上隅になるんだな
良いお節介だけど俺が文字列の幅求めた意味がねえええ
0112デフォルトの名無しさん
2007/07/21(土) 23:57:28ってかプロパティに使えないから馬鹿って言ってるのかよ。
プロパティはそもそもスマートフィールドのような目的が主であって、
デリゲートが主に対象とする「処理」を行うものじゃないだろうに。
0113デフォルトの名無しさん
2007/07/22(日) 00:10:48馬鹿というより、知識が5年は遅れてるな。日付を思わず確認して
しまうぐらいに。
その辺の時期は皆C#をよく知らずに書いてたからさ、結構いい加減なのよ
0114デフォルトの名無しさん
2007/07/22(日) 00:16:58RectangleFを受けるオーバーロードがあるでしょ
0115デフォルトの名無しさん
2007/07/22(日) 00:26:52値型を渡してるのに呼び出し先で元の値が変わるわけないでしょ。
0116デフォルトの名無しさん
2007/07/22(日) 00:29:06誤爆?
0117デフォルトの名無しさん
2007/07/22(日) 00:32:16でもすまん、PointFで指定した位置が描画される文字列の右上隅になる、
という意味で111は書いているみたいだね。
0118デフォルトの名無しさん
2007/07/22(日) 00:42:43と、いいたいんじゃないの?
そうなら良いお節介の使い方が怪しいから分かりにくいのだと思われ
0119111
2007/07/22(日) 00:47:02StringAlignment.Centerだと中央になる
このほうが便利だけど、MSDNには「PointFは左上隅」としか書いてないもんでね
左上隅だと思い込んでいたので、必死で位置の計算見直してたw
0120111
2007/07/22(日) 01:04:56文字の右端を目標に合わせたかったんだけど
描画には左上隅が必要だというから、文字の幅を求めて左上隅を計算したのに
PointFはStringAlignmentに応じて示す位置が変わってくれるというオチだった
0121デフォルトの名無しさん
2007/07/22(日) 01:54:59やっぱりMSも左横書きのことが念頭にあるんでしょう。
イスラエル人とかアラブ人から俺のアプリ文字表示が変だよとか
メールくるけどどうしたらいいのか検討もつかない
0122デフォルトの名無しさん
2007/07/22(日) 10:09:42増えてるワロタ
なんとなくこいつのスタンスが分かる
0123デフォルトの名無しさん
2007/07/22(日) 10:14:22例えばjavaのインターフェースと検査例外は相性悪いから設計したやつは馬鹿とか
配列とArrayListがあっても使い分けなきゃならないから
配列設計したやつは馬鹿とかいうのか
0124デフォルトの名無しさん
2007/07/22(日) 10:16:110125デフォルトの名無しさん
2007/07/22(日) 10:21:27言っちゃ悪いが、よくいるキチガイヲッチ大好き人間ってキチガイの「類友」
にしか俺には思えんよ。
なんにしろ、どこかにヲッチスレみたいのがあるだろうからそっちでやれよ。
0126デフォルトの名無しさん
2007/07/22(日) 12:57:380127デフォルトの名無しさん
2007/07/22(日) 13:36:45まで読んだ。
0128デフォルトの名無しさん
2007/07/22(日) 14:38:14ValueButtonLibを書いてるとおりに作ったのに
toolboxには何にも追加されない。
なんでだろ、なんでだろ・・・・・・・・・・
0129デフォルトの名無しさん
2007/07/22(日) 14:47:21フォームとか他のデザイナを開いてみろ
0130128
2007/07/22(日) 23:50:49作ったコントロールのdllを、toolboxの参照で加えてなかったからでした。
0131デフォルトの名無しさん
2007/07/23(月) 00:20:07System名前空間のないC#の実装ってありうるの?
0132デフォルトの名無しさん
2007/07/23(月) 00:31:00すべてのオブジェクトがSystem.Objectの派生である以上は
System名前空間の無い実装はありえないと思うんだけども。
0133デフォルトの名無しさん
2007/07/23(月) 00:34:46ECMA, JISはタダで読めるんだから読んでみれば?
0134131
2007/07/23(月) 00:35:08「objectはSystem.Objectの別名である」とか普通に書いてあるね
0135デフォルトの名無しさん
2007/07/23(月) 02:02:36exeのショートカットで「実行時の大きさ」を最大化にすると、
コンストラクタでVisible=falseにしたり、CreateParamsで
WS_VISIBLEを削除しても、Loadイベントの時にはすでに表示されて
しまいます。
これを非表示にするにはどうすればいいのでしょうか?
お願いします。
0136デフォルトの名無しさん
2007/07/23(月) 13:16:46複数のユーザがリモートデスクトップでサーバに
接続してサーバ側で利用する形態になっています。
そこで、ユーザがサーバからログオフせずにリモート
デスクトップを切断した際、アプリケーションを終了
させたいのですがリモートデスクトップのセッションが
切断された時にアプリケーションに通知されるのでしょうか?
ご存知の方がいらっしゃいましたら教えて下さい。
0137デフォルトの名無しさん
2007/07/23(月) 13:47:07このあたりかなぁ。どっちにしろP/Invokeを使うことになる。
WTSQuerySessionInformation
0138デフォルトの名無しさん
2007/07/23(月) 14:46:50どうもありがとうございます。
「WTSQuerySessionInformation」を手がかりに調べてみたいと思います。
0139デフォルトの名無しさん
2007/07/23(月) 16:45:43フロートフォームはToplevelです。
オーナーフォームをAlt+Tabなどで一度背面に持っていってフロートフォームを表示しなおすと前面に出てきます。
0140139
2007/07/23(月) 16:58:580141デフォルトの名無しさん
2007/07/23(月) 20:38:590142デフォルトの名無しさん
2007/07/23(月) 20:40:12>exeのショートカット
ってなんだっけ?
0143デフォルトの名無しさん
2007/07/23(月) 21:11:37Showする前にSetWindowPosでSWP_NOMOVE|SWP_NOSIZE|SWP_NOACIVEで手前に持ってくるようにしたらとりあえず前に出てきました。
でもOwnerに親ウィンドウのハンドルが設定されてるのに(Spyでみた)手前に来ないことってあるんですかね
0144デフォルトの名無しさん
2007/07/23(月) 21:15:02具体的なコードを示してくれんと何とも言えんけど
解決したのならもういいか。
0145デフォルトの名無しさん
2007/07/23(月) 21:20:33大きいアプリケーションで出たものなので依存関係の切り分けまでできていないのでコード出せません(´・ω・`)
とりあえずさしあたってのトラブルは回避できそうですが、問題(Ownerに設定されてるのに前面に出てこないこと)自体が解決されてるわけでもなす・・・
なんか気持ち悪い。
0146デフォルトの名無しさん
2007/07/23(月) 21:24:18それって必ず再現するの?
それと子ウィンドウを表示するタイミングは?
最大化するのはその親ウィンドウ?
実際見てない漏れたちからすれば調べるところはいっぱいあるんだが
0147145
2007/07/23(月) 21:32:351.必ず再現します。
2.キーイベントで。
3.最大化は今回関係ないです。たとえば500,500の大きさのオーナーウィンドウから1000,100の大きさのフロートウィンドウを表示しようとするとオーナーウィンドウの後ろにフロートウィンドウがはみ出して表示される感じです。
SetWindowPosすることで前面には出るようになりましたが。
コード切り出そうかと思ってちょっと見てみたんですが、いろいろと食い込んでるのでちょっと難しそうです・・・(ノД`)
Ownerセットされながら前面に表示されるないのは何か見落としがあるんですかね?
0148デフォルトの名無しさん
2007/07/23(月) 21:38:08とか
0149デフォルトの名無しさん
2007/07/23(月) 22:02:430150デフォルトの名無しさん
2007/07/23(月) 22:16:180151デフォルトの名無しさん
2007/07/23(月) 22:26:210152デフォルトの名無しさん
2007/07/23(月) 22:41:09それとは別に、特定の形式で書いた仕様書から、整形したHTMLや、
ドキュメントコメントつきの未実装コードを生成してくれるツールってないでしょうか?
できる人はXSLTあたりでサクッとやっちゃうんでしょうか?
0153デフォルトの名無しさん
2007/07/23(月) 22:42:59unixの人に聞いたら?
0155デフォルトの名無しさん
2007/07/24(火) 01:19:420156デフォルトの名無しさん
2007/07/24(火) 11:44:22実際にタブの数が増えて複数行になった場合に、上の行に存在するタブを選択すると、
そのタブがアクティブになると同時に、タブの上下が入れ替わってしまいます。
つまり、常に下の行のタブがアクティブになるように、自動的に入れ替えが発生します。
このタブの上下の入れ替えを抑制して、最初に作られたままのタブ順序を維持することは
不可能なのでしょうか?
0157デフォルトの名無しさん
2007/07/24(火) 12:08:480158デフォルトの名無しさん
2007/07/24(火) 12:25:11冷静に考えてみ、それってどういうビジュアルにするつもりよw
0159デフォルトの名無しさん
2007/07/24(火) 12:30:51どれも同じ動作するから慣れてもらうほうがいいぜ
0160156
2007/07/24(火) 12:55:27Donut系は、開くサイトが増えても、>>156のようになっていて、タブの位置は変わりません。
ちなみに、IE7だと、タブの制御はどうなっているのでしょうか?入れ替わります?
とりあえず、Multilineをfalseにしてしのぎつつ、解決策を探します・・・。
0161デフォルトの名無しさん
2007/07/24(火) 13:03:130162156
2007/07/24(火) 13:08:34その辺りを参考にした方が良い気がしてきました。
タブ列の右端に「閉じる」ボタンを置いたほうがスマートな気もしてきたし。
0163デフォルトの名無しさん
2007/07/24(火) 13:30:24横スクロールするだけ。数が増減するタブは
多段に向いて無いと思う
0164デフォルトの名無しさん
2007/07/24(火) 13:35:300165デフォルトの名無しさん
2007/07/24(火) 17:51:190166デフォルトの名無しさん
2007/07/24(火) 19:00:30表示面積を食うのが難点だが。
0167デフォルトの名無しさん
2007/07/24(火) 19:23:00ツリーが好きな人っているんだねw
まあ好き嫌いは横においても、ツリーはドキュメントの選択には向かないと思うけどな。
0168デフォルトの名無しさん
2007/07/24(火) 20:35:01タブはリニアなコンテナで、ツリーは階層化されたリニアなコンテナなだけだぞ?
0169デフォルトの名無しさん
2007/07/24(火) 20:45:08複数選択したりいろいろ違うと思うがな?
0170デフォルトの名無しさん
2007/07/24(火) 21:45:270171デフォルトの名無しさん
2007/07/24(火) 21:59:300172困っております
2007/07/25(水) 00:20:11コマンド形式の実行ファイルの作成のために
VC6++からCOMを使用して、C#のDLLの関数に
結果格納用の変数(BTSTR型)を引数に渡して、やり取りしたいのですが
コンパイルすらとおりません。
関数の型は以下の通りです。
UINT GetVersion(BTSTR *Version);
当方としては、bstr_tで変数を作り、
引数に渡せばよいのかと思い
以下のように、色々試してはみたのですが、
コンパイルエラーが発生してしまいました。
bstr_t bVersion
pp->GetVersion(&bVer);
BTSTRの受け渡しはどのように行うべきなのでしょうか。
また受け取ったBTSTRをchar型の変数に変換することも可能なのでしょうか
分かる方がおりましたら御教授をよろしくお願い致します。
0173デフォルトの名無しさん
2007/07/25(水) 00:25:04c#でとらぶってるの?それともc++
コンパイルエラーってどんな内容?
0174困っております
2007/07/25(水) 00:45:59「型が変換できません」という引数の型と一致してない
ときにでるようなエラーが出ます。
そもそも、Cでしか作成したことが
ないので、BTSTR型がどういうものか
理解していないのが悪いのですが、CからC#の関数
にアクセスせざるえなくなり・・・
受け渡しはむりなのでしょうか?
申し訳ありませんがお願い致します。
0175デフォルトの名無しさん
2007/07/25(水) 02:33:01そもそもコンパイルできないんじゃC#とはますます関係ない
0176デフォルトの名無しさん
2007/07/25(水) 04:37:31BSTR bVer = NULL;
pp->GetVersion(&bVer);
bstr_t bstrVer(bVer);
0177困っております
2007/07/25(水) 07:11:42ご回答の方法を試してみます
有難うございました。
0178デフォルトの名無しさん
2007/07/25(水) 07:21:540179C ◆N1mkQ4hBnU
2007/07/25(水) 11:24:20HTMLのFORMからの情報をC#で受け取りたいのですが、どうしても出来ません。
よろしくお願いいたします。
=====HTMLデータ=====
<HTML><BODY>
<FORM action=aaa.exe method=port>
<SELECT name="data">;
<OPTION value="1">1
<OPTION value="2">2
</SELECT>
<INPUT type=submit value="表示">
<INPUT type=hidden name=srt value=0>
ID:<INPUT type=text name=user>
</FORM>
</BODY></HTML>
=====C#データ(aaa.cs)=====
using System;using System.IO;using System.Data;using System.Web;using System.Web.UI;
public class view{
public static void Main() {
string data0 = HttpContext.Current.Request["data"];
Console.WriteLine("Content-type: text/html\n");
Console.WriteLine("<HTML><BODY>");
Console.WriteLine(data0);
Console.Write("</BODY></HTML>\n");
}
}
自分が作ったものは以上です。間違いだらけだとは思いますが、教えてください。よろしくお願いいたします。
0180デフォルトの名無しさん
2007/07/25(水) 11:32:39趣味でやってるなら止めないが仕事ならよしたほうがいい。
0181デフォルトの名無しさん
2007/07/25(水) 11:37:240182デフォルトの名無しさん
2007/07/25(水) 11:56:24ウェブサーバとCGIって標準入出力でやり取りするんじゃなかったっけ?
HttpContextには何にも入っていないのあたりまえだと思うけれど…。
C#でCGIなんて考えたこともなかったもんで間違ってたらスマソ。
0183デフォルトの名無しさん
2007/07/25(水) 12:04:26http://www.codeproject.com/csharp/cgi_csharp.asp
GETで渡したデータならSystem.Environment.GetEnvironmentVariable("QUERY_STRING")でいいらしいけど
POSTはややこしいみたい。
0184デフォルトの名無しさん
2007/07/25(水) 12:12:140185デフォルトの名無しさん
2007/07/25(水) 12:12:46http://quickware.a-quest.com/lanclip/about.htm
if (data.GetDataPresent(DataFormats.Bitmap)) {
Image img = (Image) data.GetData(DataFormats.Bitmap, true);
// img の値が null に
}
アクセサリのペイントやワードパッドでは取得・表示できるのですが、
上記のコードでは失敗します。なぜでしょうか??
0186179
2007/07/25(水) 12:35:26無事解決しました。ありがとうございます。
System.IO.ConsoleのInとOutを使ったら、うまくいきました。
大変失礼いたしました。
0187デフォルトの名無しさん
2007/07/25(水) 14:27:20ダイヤモンド継承とかの話うまく考慮すればclassもinterfaceを使い分ける必要がどこにある?多重継承orMIXINできないとめんどくさいんじゃ《゚Д゚》ゴラァァァァァァァァァァァァア!!
0188デフォルトの名無しさん
2007/07/25(水) 14:29:41Clipboard.GetImageは?
0189デフォルトの名無しさん
2007/07/25(水) 14:42:31クリップボードビューワで形式確認してみたら
0190デフォルトの名無しさん
2007/07/25(水) 15:15:35申し遅れました。
事情がありまして、.NET1.1で書いてますのでGetImageは存在しません
0191デフォルトの名無しさん
2007/07/25(水) 15:23:54DIB BITMAPの可能性が高いようなので、下記のようにしてみたのですが、これもダメでした・・・
Image img = null;
if (data.GetDataPresent(DataFormats.Dib)) {
try {
img = (Image) data.GetData(DataFormats.Dib, true);
}
catch {
MemoryStream mem = (MemoryStream)data.GetData(DataFormats.Dib);
img = Image.FromStream(mem);
}
}
0192デフォルトの名無しさん
2007/07/25(水) 15:41:12トランザクション管理が難しそうで結局Daoオブジェクトにビジネスロジック実装して本末転倒になりそうなんだけど・・・●rz
0193デフォルトの名無しさん
2007/07/25(水) 16:10:280194デフォルトの名無しさん
2007/07/25(水) 16:31:32じゃぁDataFormats.EnhancedMetafileかな
0195デフォルトの名無しさん
2007/07/25(水) 16:36:50君の言うJavaのDaoパターンというのが何をイメージしてるかはよくわからないけど、
プラットフォーム依存がでる部分じゃないと思うぞ?
DataSetがどうこうと言いたいのかも知れないがあれも必須じゃない。
0196デフォルトの名無しさん
2007/07/25(水) 18:30:01VisualStudioでウォッチすると、下記のようになっていて、
GetDataPresent(DataFormats.EnhancedMetafile)としてfalseになってしまいます。
なんなのでしょうかね
-data.GetFormats() {Length=4} string[]
[0] "DeviceIndependentBitmap" string
[1] "System.Drawing.Bitmap" string
[2] "Bitmap" string
[3] "Format17" string
0197デフォルトの名無しさん
2007/07/25(水) 20:18:540198デフォルトの名無しさん
2007/07/25(水) 20:23:57つまり?
0199デフォルトの名無しさん
2007/07/25(水) 20:25:20ほかの .NET 対応言語知ってればやりたいことは読めるもんだ
読もうともしない奴もいるけどな
0200デフォルトの名無しさん
2007/07/25(水) 21:48:50書けなくても使うクラス・メソッドとか使用手順とかは読み取れる
逆は難しいのか?
0201デフォルトの名無しさん
2007/07/25(水) 22:04:02罠っぽい構文なんてないし。
0202デフォルトの名無しさん
2007/07/25(水) 22:11:133.0はすばらしくキモイ(罠っぽい)書き方がいっぱいできますよ。
2.0まではjavaのパクリって感じだったけど3.0の変態っぷりは最高!
0203デフォルトの名無しさん
2007/07/25(水) 22:11:510204デフォルトの名無しさん
2007/07/25(水) 22:17:110205デフォルトの名無しさん
2007/07/25(水) 23:02:33この調子で突っ走ってほしい
0206デフォルトの名無しさん
2007/07/25(水) 23:25:320207デフォルトの名無しさん
2007/07/25(水) 23:54:173.0 なんて、2.0 の正式版が出た瞬間に仕様公開されたもんね。
来年には 4.0 の話出てもおかしくはない。
0208デフォルトの名無しさん
2007/07/26(木) 00:56:55いや、C# 3.0の最初のドラフト公開はC# 2.0正式版出荷前のはず。
0209デフォルトの名無しさん
2007/07/26(木) 00:59:000210デフォルトの名無しさん
2007/07/26(木) 01:00:300211デフォルトの名無しさん
2007/07/26(木) 01:11:46LINQ? ラムダ式? var?
0212デフォルトの名無しさん
2007/07/26(木) 01:27:360213デフォルトの名無しさん
2007/07/26(木) 15:10:430214デフォルトの名無しさん
2007/07/26(木) 15:12:280215デフォルトの名無しさん
2007/07/26(木) 15:40:21まあ、その通りなんだけど、
左右両辺に冗長に型を書くことが、人的エラー耐性につながったりもするから。
0216デフォルトの名無しさん
2007/07/26(木) 17:28:12右辺がファクトリーとかの関数だったらしっかり型で定義したい。
前者の場合VBだと今でもやれてるんだけどね。
Dim xxx As New ABC()
0217デフォルトの名無しさん
2007/07/26(木) 18:07:55それは、でもなぁ、VS 使ってると、
ABC xxx = new まで打ったらあとはインテリセンスが効くしね。
エディタで書いてると、確かにたまにそういう機能欲しくなるけど。
0218デフォルトの名無しさん
2007/07/26(木) 18:13:22どうせスコープ限られてるし
0219デフォルトの名無しさん
2007/07/26(木) 18:31:55同じ定義を2個も書くのが耐え切れん。
0220デフォルトの名無しさん
2007/07/27(金) 00:31:05foreachコードスニペットのデフォルト変数がvarでかぶるのがやだなぁ
0221デフォルトの名無しさん
2007/07/27(金) 02:52:54長所のうちどれをセレクトするかの違いだね
0222デフォルトの名無しさん
2007/07/27(金) 10:20:47どういう意図でstringとStringを使い分けているのでしょうか?
どうやら、クラス内やメソッド内のローカル値ではstringで定義し、
メソッド定義の際の返り値になるものでは意図的にStringを使っているようなのですが・・・。
こういう記述をすることで、何かメリットあります?
string str = "Hello";
String str = "Hello";
こういう初期化で始まるなら、どっちも同じですよね?
0223デフォルトの名無しさん
2007/07/27(金) 10:23:150224デフォルトの名無しさん
2007/07/27(金) 10:29:05String.Format()とかString.IsNullOrEmpty()とか。
>>222の場合だったらstringで統一。
0225デフォルトの名無しさん
2007/07/27(金) 10:29:41どうやら、そもそもStringBuilderを使うべきじゃないのかと・・・。
もしかして、激しく文字列連結するときの速度定価は、
string > String > StringBuilderだったりするのでしょうか・・・。
まぁ、だからといってStringを使う理由は、相変わらず分かりませんが。
元のがJavaからの移植で、たまたまそのままっていう線もありそうですな。
0226デフォルトの名無しさん
2007/07/27(金) 10:36:02どうも有り難うございます。
参考になります。私も気にせずにstringで統一する方向にします。
0227デフォルトの名無しさん
2007/07/27(金) 10:38:030228デフォルトの名無しさん
2007/07/27(金) 10:38:33class MyString {
public static implicit operator MyString(string s){
return new MyString(s);
}
MyString(string s){
}
}
0229デフォルトの名無しさん
2007/07/27(金) 10:50:520230デフォルトの名無しさん
2007/07/27(金) 10:57:02( ⌒ ) ポッポー
l | /
⊂(#・∀・) String == string, Int32 == int,
/ ノ∪ もうやってらんないっすよ!!
し―-J |l| |
人ペシッ!!
(_)
)(__)(_
⌒) (⌒
⌒Y⌒
0231デフォルトの名無しさん
2007/07/27(金) 11:02:230232デフォルトの名無しさん
2007/07/27(金) 11:05:110233デフォルトの名無しさん
2007/07/27(金) 11:08:24いくらなんでも非道いだろ とおもつた
0234デフォルトの名無しさん
2007/07/27(金) 11:10:56using System が抜けてる場合、
System.StringとかSystem.Int32 とか書かないとコンパイルエラーになる。
0235デフォルトの名無しさん
2007/07/27(金) 11:19:56using Graphics = System.Drawing.Graphics;
using TextReader = System.IO.TextReader;
…
みたいに書いてる人っているのかな
0236デフォルトの名無しさん
2007/07/27(金) 11:55:300237デフォルトの名無しさん
2007/07/27(金) 11:57:070238デフォルトの名無しさん
2007/07/27(金) 13:54:31プログラム作っていったらイヤでも違いが分かると思うけど・・・。
C#は大文字と小文字を使い分けてなきゃいけないのに
何故そういった疑問を持つのか分からない。
0239デフォルトの名無しさん
2007/07/27(金) 13:58:420240デフォルトの名無しさん
2007/07/27(金) 13:59:050241デフォルトの名無しさん
2007/07/27(金) 14:01:58自分の知らない用法でもあるのかと思って聞いただけじゃん。
文句があるなら、スルーすれば良いのに、みんな耐性ないよね。
いかにも、相手を探してますって感じ。
ほんと昼間っから見てる人は戦闘種族多いよね。
0242デフォルトの名無しさん
2007/07/27(金) 14:03:420243デフォルトの名無しさん
2007/07/27(金) 14:05:510244デフォルトの名無しさん
2007/07/27(金) 15:53:220245デフォルトの名無しさん
2007/07/27(金) 15:55:320246デフォルトの名無しさん
2007/07/27(金) 18:39:490247デフォルトの名無しさん
2007/07/27(金) 19:36:46class Class1{ public int MyProperty { get { return 0; } } }
class Class2 : Class1 { public new string MyProperty { set { } } }
0248デフォルトの名無しさん
2007/07/27(金) 19:59:250249デフォルトの名無しさん
2007/07/27(金) 20:12:45そういうとんち的なの全然思いつかんかったわ
0250デフォルトの名無しさん
2007/07/27(金) 20:24:580251244
2007/07/27(金) 20:25:50getで文字列を返せたとしてもXML化するときにboolで保存できないからどうせ意味無かったです、ごめんなさい。_ト ̄|●
0252デフォルトの名無しさん
2007/07/27(金) 20:46:38MSDNのPropertyBuilderのサンプルコードをいじってみたらこんなプロパティができた
.property class string CustomerName
{
.get instance string CustomerData::get_CustomerName()
.set instance void CustomerData::set_CustomerName(int32)
}
もちろんC#からアセンブリを参照して使おうとするとコンパイルエラー
0253デフォルトの名無しさん
2007/07/27(金) 20:46:43無理。
アクセサメソッドは作れても、propertyとしてくっ付けることができない。
0254デフォルトの名無しさん
2007/07/27(金) 21:08:330255デフォルトの名無しさん
2007/07/27(金) 21:41:58で、Stringとstringの違いって何?
>string は、.NET Framework の System.String のエイリアスです。
ってことはわかったんだけど違いがわからん。
0256デフォルトの名無しさん
2007/07/27(金) 21:45:43>C#は大文字と小文字を使い分けてなきゃいけないのに
なぜこれを持ち出すのかがわからない
0257デフォルトの名無しさん
2007/07/27(金) 22:00:380258デフォルトの名無しさん
2007/07/27(金) 22:01:33エイリアス
0259デフォルトの名無しさん
2007/07/27(金) 22:05:25まぁ普通各言語の型を使うよな
0260デフォルトの名無しさん
2007/07/27(金) 22:07:150261デフォルトの名無しさん
2007/07/27(金) 22:08:470262デフォルトの名無しさん
2007/07/27(金) 22:11:23どう見ても特別だろ
0263デフォルトの名無しさん
2007/07/27(金) 22:14:490264デフォルトの名無しさん
2007/07/27(金) 22:23:33何が言いたいのかわからん
どう見てもとか言ってないで説明してよ
0265262
2007/07/27(金) 22:27:10"12345"がSystem.String型になって、1がSystem.Int32型になるのは
それらが特別扱い(あくまでC#の言語上の話ね)されてるから、って言いたかっただけ
0266デフォルトの名無しさん
2007/07/27(金) 22:28:110267デフォルトの名無しさん
2007/07/27(金) 22:30:51それがエイリアスと何の関係があるのかね
0268デフォルトの名無しさん
2007/07/27(金) 22:33:50↓
[.NET Framework] System.Int32
↑
[VB] Integer
っつーだけじゃん。
0269268
2007/07/27(金) 22:37:50.NETは異なる言語のアセンブリでも使用できるので、共通のデータ型が必要。
で、
「C#という言語」では string という文字列型が内部的に
「共通ランタイムライブラリ」の String と同じになってるだけ。
0270デフォルトの名無しさん
2007/07/27(金) 22:39:120271デフォルトの名無しさん
2007/07/27(金) 22:42:15俺wwwがwwwもwwwっwwwとwww下wwwげwwwてwwwやwwwるwww
0272デフォルトの名無しさん
2007/07/27(金) 22:42:160273デフォルトの名無しさん
2007/07/27(金) 22:46:57是非>>260には恥をかきながらもまた出てきて欲しい
0274デフォルトの名無しさん
2007/07/27(金) 22:51:040275デフォルトの名無しさん
2007/07/27(金) 22:57:200276デフォルトの名無しさん
2007/07/27(金) 23:05:530277デフォルトの名無しさん
2007/07/27(金) 23:09:040278デフォルトの名無しさん
2007/07/27(金) 23:11:05とか言ってみるテスト
0279デフォルトの名無しさん
2007/07/27(金) 23:11:530280デフォルトの名無しさん
2007/07/28(土) 00:10:030281デフォルトの名無しさん
2007/07/28(土) 00:17:450282デフォルトの名無しさん
2007/07/28(土) 00:18:580283デフォルトの名無しさん
2007/07/28(土) 00:35:10>ってことはわかったんだけど違いがわからん。
何がわかったんだw
エイリアスだよ、見た目が違うだけだよ。
見た目以外は違わんてこったよ。
0284デフォルトの名無しさん
2007/07/28(土) 00:40:42日本語……地球語でおk
0285デフォルトの名無しさん
2007/07/28(土) 00:49:01それ以外にも違いがあるかのような発言をしてる奴が居るから混乱してるんだろう
0286デフォルトの名無しさん
2007/07/28(土) 00:49:480287デフォルトの名無しさん
2007/07/28(土) 00:50:380288デフォルトの名無しさん
2007/07/28(土) 01:49:020289デフォルトの名無しさん
2007/07/28(土) 02:13:32ライブラリ化を意図してるとか?
外部に公開するところは、言語に依存しない表現にしておきたいってことじゃないの。
0290デフォルトの名無しさん
2007/07/28(土) 02:14:330291デフォルトの名無しさん
2007/07/28(土) 02:22:200292デフォルトの名無しさん
2007/07/28(土) 05:03:47定数(式)は割りかし重要な概念だしCLR的には確かにintやらは
扱いが変な感じになっているので総出で馬鹿にせんでも。
この例なら一緒、エイリアスでいいんだけど。
C#的に「どちらもOK」ではないのはenumの型指定ぐらいか
0293デフォルトの名無しさん
2007/07/28(土) 08:39:100294デフォルトの名無しさん
2007/07/28(土) 09:11:39他にも class と Class は別物だし delegate と Delegate も…
0295デフォルトの名無しさん
2007/07/28(土) 09:22:450296デフォルトの名無しさん
2007/07/28(土) 09:36:280297デフォルトの名無しさん
2007/07/28(土) 10:36:32だっけか?
ていう本を読めばいいと思うよ
0298デフォルトの名無しさん
2007/07/28(土) 11:13:24デリゲートを発動させるだけ?
わっかんね
0299デフォルトの名無しさん
2007/07/28(土) 11:14:030300デフォルトの名無しさん
2007/07/28(土) 11:59:48BeginInvokeが必要なのでしょうか?
メソッドA
→メソッドB
→メソッドC
0301デフォルトの名無しさん
2007/07/28(土) 12:04:16http://pc11.2ch.net/test/read.cgi/tech/1182948981/
0302デフォルトの名無しさん
2007/07/28(土) 12:04:35invoke自体の存在理由、活用法がわからんねぇ
プログラミング.NET Framework[第二版]をめんたま擦れるくらい
読めってことか?
めんどくせーよ
0303デフォルトの名無しさん
2007/07/28(土) 12:06:08使う必要のないものを知る必要はないだろ。
0305デフォルトの名無しさん
2007/07/28(土) 13:28:13ToolStripItemCollection.AddRangeはなんで配列を引数にとるんだ・・・
別に配列に特化した処理してるわけじゃないしIList<T>でいいじゃないか
導入されたの2.0からなんだし。
</ぐち>
0306デフォルトの名無しさん
2007/07/28(土) 14:04:410307デフォルトの名無しさん
2007/07/28(土) 14:07:45kwsk
理由になってないように見える
0308デフォルトの名無しさん
2007/07/28(土) 14:14:24Menu.MenuItemCollection.AddRange とか
WPF の方は割り切って AddRange なんかそもそも無いな
0309デフォルトの名無しさん
2007/07/28(土) 14:46:41なお悪い気がするが・・・
0310デフォルトの名無しさん
2007/07/28(土) 14:57:08配列になってる最大の理由はたぶん初期化されたインスタンスが
一番簡潔に書けるからじゃない?
まあでも確かに、それならIEnumerable<T> でかまわないような気がしないでもない。
0311デフォルトの名無しさん
2007/07/28(土) 15:01:11enum Foo : System.Int32 {...} とかやってみ?
0313デフォルトの名無しさん
2007/07/28(土) 15:07:43配列ってのはIList<T>の部分集合なわけで、引数として配列を受け取るのは
意味もなく利用範囲を狭めてるだけだよ。
IList<T>として宣言したって配列を渡すことはできる。
内部でArrayクラスのメソッドを使ってるならわかるけど、forで回してるだけみたいだし。
0314デフォルトの名無しさん
2007/07/28(土) 15:12:310315デフォルトの名無しさん
2007/07/28(土) 15:14:220316デフォルトの名無しさん
2007/07/28(土) 15:16:350317デフォルトの名無しさん
2007/07/28(土) 16:05:320318デフォルトの名無しさん
2007/07/28(土) 17:12:11stringて引数に渡す場合新たにコピーされるんですよね?
A(string str){}で渡すより、A(IList<string> list, int index:リスト内のインデックス){}
で渡したほうがコスト小さいのでしょうか?
0319デフォルトの名無しさん
2007/07/28(土) 17:15:060320デフォルトの名無しさん
2007/07/28(土) 17:18:270321デフォルトの名無しさん
2007/07/28(土) 17:26:350322デフォルトの名無しさん
2007/07/28(土) 17:41:450323デフォルトの名無しさん
2007/07/28(土) 18:22:11そりゃ実際スタックに置かれるんだろうけどさ
0324デフォルトの名無しさん
2007/07/28(土) 18:34:57(そういう意味ではない?)
0325デフォルトの名無しさん
2007/07/28(土) 18:37:090326デフォルトの名無しさん
2007/07/28(土) 21:34:590327デフォルトの名無しさん
2007/07/29(日) 20:54:22おまえにはドキュメントを作るという考え方が無いのか?
せっかくの.NET Frameworkなのに、ライブラリのドキュメントを
特定言語に依存したものにするのか?
0328デフォルトの名無しさん
2007/07/29(日) 20:56:55他言語の使用者がコードを読んで、引数とか返り値の仕様が分かるというのもあるしね。
0329デフォルトの名無しさん
2007/07/29(日) 20:58:57普通、ドキュメントはアセンブリのメタデータを使って作成しないか?
0330デフォルトの名無しさん
2007/07/29(日) 22:10:250331デフォルトの名無しさん
2007/07/29(日) 22:18:220332デフォルトの名無しさん
2007/07/29(日) 23:53:5600333デフォルトの名無しさん
2007/07/30(月) 08:37:49いつも仕事中にWebばかり見てる派遣クンが
「C#がプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
でもうちの会社ではプログラムを書いた人がデバッグして原因を調べるのが当たり前です。
頑固な派遣クンをどうやって説得したらいいでしょうか?
0334デフォルトの名無しさん
2007/07/30(月) 08:56:320335デフォルトの名無しさん
2007/07/30(月) 09:19:27これを額面どおりに受け取るなら確かに派遣クンの責任ではない
0336デフォルトの名無しさん
2007/07/30(月) 09:20:51辞めてもらえ
0337デフォルトの名無しさん
2007/07/30(月) 09:24:000338デフォルトの名無しさん
2007/07/30(月) 10:12:380339デフォルトの名無しさん
2007/07/30(月) 10:22:030340デフォルトの名無しさん
2007/07/30(月) 14:08:00全然詳しくないので質問させてください。
いつも仕事中にWebばかり見てる派遣クンが
「Win32APIがプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
彼のWindowsプログラムが動かないのを調べるのは誰の仕事なのでしょうか?
341デフォルトの名無しさんsage2007/07/30(月) 01:07:17
この>>335のネタどこが元ネタなんだろな。
知る限りの最古はここなんだが。
ttp://pc11.2ch.net/test/read.cgi/tech/1182351826/387-
387デフォルトの名無しさん2007/07/22(日) 15:38:01
全然詳しくないので質問させてください。
仕事全然できない派遣クンが
「DirectXがプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
原因を調べるのは誰の仕事なのでしょうか?
Google様に捕らえられてないって事は随分最近のネタくさいな
重度2ch患者は昨日あった事でもずいぶん前にあったように感じるらしい
一週間も経っていればそうとう昔の出来事に感じるんだろうな
0341デフォルトの名無しさん
2007/07/30(月) 18:41:03奇特なお方だって十分に「重度2ch患者」に見えるけどなw
なによりその「自分で自分に突っ込む能力の欠如」って「重度2ch患者」とやらの
顕著な特徴じゃないか?w
0342デフォルトの名無しさん
2007/07/30(月) 20:11:310343デフォルトの名無しさん
2007/07/30(月) 22:36:140344デフォルトの名無しさん
2007/07/30(月) 22:49:210345デフォルトの名無しさん
2007/07/30(月) 23:07:06暇をもてあました学生もこのスレみてるんだぜ
0346デフォルトの名無しさん
2007/07/30(月) 23:42:450347デフォルトの名無しさん
2007/07/31(火) 00:08:350348デフォルトの名無しさん
2007/07/31(火) 00:24:030349デフォルトの名無しさん
2007/07/31(火) 00:58:33>>347
kwsk
0350デフォルトの名無しさん
2007/07/31(火) 07:29:580351デフォルトの名無しさん
2007/07/31(火) 08:03:460352デフォルトの名無しさん
2007/07/31(火) 08:22:440353デフォルトの名無しさん
2007/07/31(火) 08:57:410354デフォルトの名無しさん
2007/07/31(火) 10:06:550355759
2007/07/31(火) 17:43:02タブは追加した順番に左から右に配置されますよね。
途中のタブを削除すると
削除したタブの右側のタブは全て左に詰められて再描写されますよね。
新しくタブを追加すると、一番右に表示されますよね。
この動きを別のコントロールで再現したいのですが、
どういうアルゴリズムを使えばよろしいでしょうか。
ユーザコントロールを上下に並べて表示し、
とあるイベントで削除されたコントロールの下にあるコントロールは
上に詰めて表示する。
新規にコントロールが追加された場合は一番下に表示する。
コントロールは最大3つ。
コントロールの数によってフォームのSize.Yを変更する。
というストーリーです。
タブの描写のアルゴリズムが分かれば全て解決するので、
だれか教えてください。
0356デフォルトの名無しさん
2007/07/31(火) 17:48:350357デフォルトの名無しさん
2007/07/31(火) 17:49:57普通のIListで管理するだけじゃない?
0358デフォルトの名無しさん
2007/07/31(火) 18:32:59馬鹿馬鹿しいな。
ただのキモイやつにしか見えん。
0359デフォルトの名無しさん
2007/07/31(火) 18:39:480360355
2007/07/31(火) 19:10:05.NET1.1なんでFlowLayoutPanelは使えないです。
>>357
IListでできました。
内部で管理してくれてるんですね。
ありがとうございます。
>>359
それぐらいとはどれくらい?
「答えてくれる人」からしてみれば質問はすべて"それぐらい"にあてはまる。
質問スレの意味がわかってないのでは?
0361デフォルトの名無しさん
2007/07/31(火) 19:30:53コントロールのレイアウトのアルゴリズムについての質問だったんじゃないのか?
IListはほとんど関係ないと思うんだが
0362デフォルトの名無しさん
2007/07/31(火) 19:30:560363デフォルトの名無しさん
2007/07/31(火) 19:33:340364デフォルトの名無しさん
2007/07/31(火) 19:57:480365デフォルトの名無しさん
2007/07/31(火) 20:52:040366デフォルトの名無しさん
2007/07/31(火) 20:52:090367デフォルトの名無しさん
2007/07/31(火) 21:20:25t = a; a = b; b = t; てのもアルゴリズムだし。
0368デフォルトの名無しさん
2007/07/31(火) 21:27:150369デフォルトの名無しさん
2007/07/31(火) 21:28:550370デフォルトの名無しさん
2007/07/31(火) 22:49:30一個人にとっての当たり前が他人にとっての当たり前じゃないから
人間は戦争するんだろうな。
0371デフォルトの名無しさん
2007/07/31(火) 22:58:34というか、糞みたいな話題が話したければ他所行けよ。
0372デフォルトの名無しさん
2007/08/01(水) 23:13:53まじでみんな他所いったの?wwww
ぼくちんさみしいおwwww
0373デフォルトの名無しさん
2007/08/01(水) 23:23:340374デフォルトの名無しさん
2007/08/01(水) 23:32:570375デフォルトの名無しさん
2007/08/02(木) 02:25:000376デフォルトの名無しさん
2007/08/02(木) 02:27:570377デフォルトの名無しさん
2007/08/02(木) 09:38:02すっげ〜尊敬する答え。素晴らしい。
0378デフォルトの名無しさん
2007/08/02(木) 09:44:430379デフォルトの名無しさん
2007/08/02(木) 09:48:060380デフォルトの名無しさん
2007/08/02(木) 10:50:540381デフォルトの名無しさん
2007/08/02(木) 13:35:34正直こんなにガキが沢山いるとは思わなかった…
0382デフォルトの名無しさん
2007/08/02(木) 14:08:580383デフォルトの名無しさん
2007/08/02(木) 14:10:250384デフォルトの名無しさん
2007/08/02(木) 15:29:570385デフォルトの名無しさん
2007/08/02(木) 15:31:350386デフォルトの名無しさん
2007/08/02(木) 15:47:160387デフォルトの名無しさん
2007/08/02(木) 16:37:560388デフォルトの名無しさん
2007/08/02(木) 16:49:320389デフォルトの名無しさん
2007/08/02(木) 17:15:02Form1にグラフィックを利用して碁盤を描きました。
マウスの左クリックで、交点に碁石を置きたいのですが、どのようにすればいいのでしょうか?
マウスの左クリックのイベントのキャッチは以下でいいと思うのですが、碁石(stone.bmp)
をどのように描画すればいいのかが分かりません。
マウスポインタの位置は、e.Location で取れそうです。
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
・・・
}
}
0390デフォルトの名無しさん
2007/08/02(木) 17:21:32碁盤の目の間隔を使って計算するしかないだろ
碁盤の目のまま考えてるからややこしい
描画位置が半目ずれたオセロだと思えばいい
0391デフォルトの名無しさん
2007/08/02(木) 17:30:372.碁盤座標から石の描画座標に変換
碁盤のサイズ・碁盤の位置・目の間隔・碁石のサイズはわかってるよね?
0392デフォルトの名無しさん
2007/08/02(木) 17:44:420393デフォルトの名無しさん
2007/08/02(木) 17:47:03Form1_MouseClickでは盤面データを更新したのちInvalidate()を呼ぶ。
でOnPaintをオーバーライドしてそこで盤面データにもとづいて描画する。
盤面データはint[19,19]みたいな感じになるかな。
ビットマップの描画はPaintEventArgs.Graphics.DrawImageあたりを使えばいいでしょ
0394デフォルトの名無しさん
2007/08/02(木) 17:48:00ありがとうございます。
わかりました。
碁石のイメージを描いたり、消したりするのはどうするのでしょうか?
描くのは、これでいいのでしょうか?
Graphics.DrawImage (Image, Point)
0395デフォルトの名無しさん
2007/08/02(木) 17:49:280396デフォルトの名無しさん
2007/08/02(木) 17:51:52丁寧な回答ありがとうございます。
DrawImageでよかったんですね。
知らない用語も多いので調べてみます。
0397デフォルトの名無しさん
2007/08/02(木) 17:56:03MSDNライブラリでGraphicsクラスについて調べるとか
インテリセンスで出てくるメソッドとその説明から目的のもの使えるか想像するとかできないのかね
0398デフォルトの名無しさん
2007/08/02(木) 18:57:160399デフォルトの名無しさん
2007/08/02(木) 20:10:58リッチテキストボックスを使ってワードパッドと同等の機能を持たせた
プログラムを作ったのですがワードパッドにある、挿入→オブジェクト
の機能も付けたいのです。方法があったら教えて下さい。
0400デフォルトの名無しさん
2007/08/03(金) 00:35:480401デフォルトの名無しさん
2007/08/03(金) 09:01:050402デフォルトの名無しさん
2007/08/03(金) 09:25:000403デフォルトの名無しさん
2007/08/03(金) 09:25:290404デフォルトの名無しさん
2007/08/03(金) 11:52:320405デフォルトの名無しさん
2007/08/03(金) 17:37:41Leaveしないと変わらないみたいでイマイチ
0406デフォルトの名無しさん
2007/08/03(金) 18:54:56まあそういう2分で確認できることを怠る奴は何やってもダメだと思うよw
0407デフォルトの名無しさん
2007/08/03(金) 20:04:21ttp://www11.axfc.net/uploader/16/so/N16_24473.txt.html
をコンボボックス1つとテキストボックス2つ貼り付けた状態で動かしたときの挙動が分からない。
HageクラスのSelectedValueのアクセサがLeaveしないと呼ばれないのは何故なんだ・・・。rz
0408デフォルトの名無しさん
2007/08/03(金) 20:32:22まあそういう(
0409デフォルトの名無しさん
2007/08/03(金) 20:33:210410デフォルトの名無しさん
2007/08/03(金) 22:55:180411デフォルトの名無しさん
2007/08/03(金) 22:59:060412デフォルトの名無しさん
2007/08/03(金) 23:06:460413デフォルトの名無しさん
2007/08/04(土) 12:05:08その中でキャラクタが動く簡単なゲームを作ろうと思います。
キャラクタはキーボードで操作します。ユーザの操作に関係なく動く敵(タイマ割り込み)は想定しません。
こういった場合、Formクラスのソースコードでキー入力イベント処理を行うべきでしょうか。
それともMain()メソッド内でスレッドを生成してキー入力待ちを行うべきでしょうか。
どちらでも動作はすると思うのですが、
個人的に前者はFormという表示を担うクラスに
メインロジックが入ってくるのが気にくわないんです。
でもウィザードはそのように生成しますし、
そちらが正しいんでしょうか?
0414デフォルトの名無しさん
2007/08/04(土) 12:09:36正解なんてない
0415デフォルトの名無しさん
2007/08/04(土) 12:21:27正解はあるだろw
まともなプログラマでViewにロジック書け、といってる奴見たことないが。
>>413
ウィザードは単に「ハリボテ」( = GUI部品)の状態を制御するコードを生成しているだけで、
ロジックなんて書かないと思いますが。。
0416デフォルトの名無しさん
2007/08/04(土) 12:46:220417デフォルトの名無しさん
2007/08/04(土) 12:50:080418デフォルトの名無しさん
2007/08/04(土) 13:05:02とりあえず「キーが押されてる」フラグを立てといて
フレーム毎に移動させるのが普通じゃないの?
0419デフォルトの名無しさん
2007/08/04(土) 13:09:24フラグを立てる必要があるんだよアホか。
0420デフォルトの名無しさん
2007/08/04(土) 13:14:300421デフォルトの名無しさん
2007/08/04(土) 13:16:21if (isRightKeyPress) character.X += 1;
再描画();
}
こういうのを一定時間ごとに呼び出す感じ
0422デフォルトの名無しさん
2007/08/04(土) 13:19:260423デフォルトの名無しさん
2007/08/04(土) 13:21:230424デフォルトの名無しさん
2007/08/04(土) 13:37:360425413
2007/08/04(土) 14:04:27勉強なので>>421で教えていただいた方法を含め、
いろいろ試してみようと思います。
ただ、やはりMVCは分けたいな、とも思いますねえ。
staticなMain()メソッド以外にControlがあるのかはわかりませんが・・・。
0426デフォルトの名無しさん
2007/08/04(土) 14:09:38座標が変化したときだけ描画って処理はありえないでしょ。
そんなのゲームなんて20年以上作ってない俺だってわかるよ。
0427デフォルトの名無しさん
2007/08/04(土) 14:12:34ゲームなんて色々あるわけだし
マインスイーパで定期的な処理や入力のポーリングなんてしてないだろ
0428デフォルトの名無しさん
2007/08/04(土) 14:17:29だから入力のポーリングなんざosの仕事だっつーにw
それと、Winの描画の基本も知らないのかね君は
0429デフォルトの名無しさん
2007/08/04(土) 14:28:090430デフォルトの名無しさん
2007/08/04(土) 15:12:14自分の知らないことがあるかもしれないって思わないのかね
0431デフォルトの名無しさん
2007/08/04(土) 15:18:28設計は今時ありえない。
というか、80年代にアセンブラでコード書いてた時代だってありえないよ
そんな設計は。
0432デフォルトの名無しさん
2007/08/04(土) 15:50:44>>421はキーが押されてなくても座標が変わらなくても再描画されるよ
0433デフォルトの名無しさん
2007/08/04(土) 16:30:570434デフォルトの名無しさん
2007/08/04(土) 19:09:330435デフォルトの名無しさん
2007/08/04(土) 21:58:08ダイアログって言ってるからc++使い?
0436デフォルトの名無しさん
2007/08/05(日) 05:40:31設計の話は設計の話でしょ。
Win描画の基本がどうのこうのとは別問題。
0437デフォルトの名無しさん
2007/08/05(日) 15:23:10設計考えるより書いたほうが速いよ…
0438デフォルトの名無しさん
2007/08/05(日) 23:47:170439デフォルトの名無しさん
2007/08/06(月) 15:29:34namespace ServerAppTest
{
[TestFixture]
public class MaxDataSizeRecorderTest
{
}
というのが出てくるのですが[TestFixture]って何ですか?
[]が何を表すのかわかりません。検索して調べるためにキーワードを教えて下さい。
0440デフォルトの名無しさん
2007/08/06(月) 15:34:33属性
カスタム属性
0441デフォルトの名無しさん
2007/08/06(月) 15:35:030442デフォルトの名無しさん
2007/08/06(月) 15:37:24NUnitだっけか
0443デフォルトの名無しさん
2007/08/06(月) 16:24:58あるインターフェース IMyInterface と、それを実装したクラス MyClass1 と MyClass2 があります。
このクラスのリスト List<MyClass1> と List<MyClass2> を、List<IMyInterface> を引数とするメソッドへ渡したいのですが、
これは許されないようです。
MyClass1[] や MyClass2[] を IMyInterface[] へキャストすることはできるようなのですが、同じようにテンプレートクラスを
キャストすることはできるでしょうか。
0444デフォルトの名無しさん
2007/08/06(月) 16:26:020445デフォルトの名無しさん
2007/08/06(月) 16:27:000446デフォルトの名無しさん
2007/08/06(月) 16:32:470447デフォルトの名無しさん
2007/08/06(月) 16:56:55そういう関数を除外する属性ってありますでしょうか?
0449443
2007/08/06(月) 17:00:09むりっすか・・・
本当は呼び出される側のメソッドの引数は IList<IMyInterface> とか IEnumerable<IMyInterface> とかで受け取りたいのですが、
こういうのはできないんですね・・・
>>445
あ、こういうのはジェネリックって言うんですか。
勉強になりました。ありがとうございます。
>>446
.NET 3 からのものみたいですね。
2 くらいでなんとかしたいです。すみません。
0450デフォルトの名無しさん
2007/08/06(月) 17:05:330451JAVA
2007/08/06(月) 17:50:260452C#
2007/08/06(月) 18:03:41やだ、気持ちわるーいwギャハハハwww
0453デフォルトの名無しさん
2007/08/06(月) 18:05:51IEnumerable<TDst> 変換<TSrc, TDst>(IEnumerable<TSrc> enumerable)
where TSrc : TDst
{ foreach (TSrc item in enumerable) yield return item; }
0454デフォルトの名無しさん
2007/08/06(月) 18:17:37ボタンをクリックするとイベントが起こる
を一括して行いたいのですが・・・
button1についてのプログラム
button2についてのプログラム
button3についてのプログラム
・・・・・
ではなくて,
ボタンについてのプログラム
スイッチで,button1だったらケース1
button2だったらケース2
というようにしたいのですが,どのように
プログラムすればいいのでしょうか?
初歩的な質問ですみません
よろしくお願いします。
0455デフォルトの名無しさん
2007/08/06(月) 18:19:180456デフォルトの名無しさん
2007/08/06(月) 18:26:17Nameを使えばswitch使えるけどそれはまずいからif(sender==…){…}else if…でやるしかない
0457デフォルトの名無しさん
2007/08/06(月) 18:43:17Button b = (Button)sender;
として
switch(b.Text)
switch(b.Name)
switch((string)b.Tag)
この辺つかえばいける
0459デフォルトの名無しさん
2007/08/06(月) 19:05:28C# 3.0のpartial methodならそういう用途に使える、
というネタは置いておいて
標準でそういう機能は無いので
アセンブリ編集ツールを探したり作ったりが正攻法だと思う。
ILMergeのたぐいね。
AbstractIL使ったら楽に作れそうだが……
0460デフォルトの名無しさん
2007/08/06(月) 21:33:500461デフォルトの名無しさん
2007/08/06(月) 22:02:56>Nameを使えばswitch使えるけどそれはまずいから
これってなぜ?俺は頻用しているし、優秀そうな人のコードでも使われていた(だから真似したんですがw)。
0462デフォルトの名無しさん
2007/08/06(月) 22:07:080463デフォルトの名無しさん
2007/08/06(月) 22:10:07ifだらだらは美しくないのでDelegateぶっこんどいて_dic[sender]()だな。
0464デフォルトの名無しさん
2007/08/06(月) 22:20:20const string使うとかはどうですか?いざとなりゃ全文置換すりゃいいわけだし。
それにそれをいったらPropertyChangedとかDataBindingも同様じゃん。
MSがメタプログラミングっぽいの薦めてるっぽいから、その流れに沿おうと思ってたんだけど。
0465464
2007/08/06(月) 22:21:450466デフォルトの名無しさん
2007/08/06(月) 22:31:11いざとなったら全文置換っていったって、
何ヶ月もたって「その」必要性を忘れてたら、あるいは最初から知らなかったらどうするの?
もちろんそれ以外他に方法がなければ、そういうリスクを犯すのも仕方がないかもしれないが、
必要もないリスクを犯すのは下策じゃないかな
0467デフォルトの名無しさん
2007/08/06(月) 22:55:26そのやり方を、もう少し教えてくださいませんか?
0468デフォルトの名無しさん
2007/08/06(月) 22:59:54いいと思うけどね。
100も200もコントロールがあるのなら話は全然別だろうけど
0469デフォルトの名無しさん
2007/08/06(月) 23:02:070470デフォルトの名無しさん
2007/08/06(月) 23:56:030471デフォルトの名無しさん
2007/08/07(火) 00:15:24たぶんその考えが根本的に間違ってるんだと思うよ
0472デフォルトの名無しさん
2007/08/07(火) 00:44:32Button b = (Button)sender;
switch(b.Name){
case button1.Name :
break;
}
って書いておけば安心じゃないの?
0473デフォルトの名無しさん
2007/08/07(火) 00:49:55定数値じゃないと無理だろ?
多分それコンパイルもできないぞ
0474デフォルトの名無しさん
2007/08/07(火) 01:01:06あ、ごめん。button1ってのはフォームにおいてあるボタンね。>>454のやつ。
private void button_Click(object sender,EventArgs e) {
Button b = (Button)sender;
switch(b.Name){
case this.button1.Name :
break;
}
}
0475デフォルトの名無しさん
2007/08/07(火) 01:29:40言ってる意味がわからないんだが
thisはあっても無くてもコンパイルできなかったし
0476デフォルトの名無しさん
2007/08/07(火) 01:30:050477デフォルトの名無しさん
2007/08/07(火) 08:28:49いくつもコピーしたいのですが、CloneメソッドやSerializeメソッドがないため
コピーできません。何か簡単でいいアイデアないでしょうか?
0478477
2007/08/07(火) 08:56:46プロパティ全てをコピー出来ればそれでいいんですが
一つ一つコピーするしかないでしょうか
0479デフォルトの名無しさん
2007/08/07(火) 09:49:010480デフォルトの名無しさん
2007/08/07(火) 10:51:51おちつけ、一旦ここは引くんだ
0481デフォルトの名無しさん
2007/08/07(火) 10:56:24WPFならスタイル書いといてボタンに登録するだけだよ!
0482デフォルトの名無しさん
2007/08/07(火) 12:12:39ありがとう。
しかし、とりあえずの所敷居が高くてスタイルは使っていません
UI自体はBlend使っていますが
スタイルを適用するとプッシュダウン時の外観が設定出来なったので…
なので、今回は単純に配置したボタンのマージン等の情報をコピーしたいんです
0483デフォルトの名無しさん
2007/08/07(火) 14:41:22にObjectパターンの説明があり、最後のところにイベントパターンが少しだけ書いてあります。
サンプルコード通りに実装した場合、MainClassはどうなるのでしょうか?
stock.AskPriceChanged +=
new Stock.AskPriceChangedHandler(stockDisplay.Notify, ・・・
のようなコードが必要になると思うのですが、自分でやってみても、
メソッド名が必要です、のエラーが出ます。
そもそも、
AskPriceChangedEventArgs e = new AskPriceChangedEventArgs(stock);
のような感じで、自分でEventArgsをインスタンス化して、情報を入れるんですよね?
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dnpatterns/htm/ImpObserverInNET.asp
これで、なんとなく理解したので、後はEventArgsを継承した、
汎用的なObjectパターンを知りたいのです・・・。
0484デフォルトの名無しさん
2007/08/07(火) 16:24:06あなたはまずC#の入門サイトを探す事から始めた方がいいんじゃないか?
0485デフォルトの名無しさん
2007/08/07(火) 16:53:07StockDisplayを、以下のように修正して、
class StockDisplay {
public void Notify(object sender, AskPriceChangedEventArgs e) {
Console.WriteLine("The new ask price is:" + e.AskPrice);
}
}
MainClass.csに下記行のどちらかを追加ですよね。
//stock.AskPriceChanged += stockDisplay.Notify;
stock.AskPriceChanged += new Stock.AskPriceChangedHandler(stockDisplay.Notify);
上記2行はどちらでも動くような気がしますが、後者の方が正しいんですよね?
0486デフォルトの名無しさん
2007/08/07(火) 16:56:230487デフォルトの名無しさん
2007/08/07(火) 17:02:15文法と動作の点ではどちらも同じ程度に正しい。
どう書きたいか、書くべきか意見はあるかもしれないが、それは思想的なものでしかない。
0488デフォルトの名無しさん
2007/08/07(火) 17:06:110489デフォルトの名無しさん
2007/08/07(火) 17:34:170490デフォルトの名無しさん
2007/08/07(火) 17:49:580491デフォルトの名無しさん
2007/08/07(火) 17:57:250492デフォルトの名無しさん
2007/08/07(火) 18:03:350493デフォルトの名無しさん
2007/08/07(火) 18:44:16こらこら、思っても言ってはいけません。
ネットは社会の縮図です。現実の社会に必要とされていない人間なんて居ないのです。
(棒読み)
しかし質問の内容からすると、コマンドラインからVSを起動できて、引数にファイル名と行数とか、
そういうVSの起動方法があればOKってこと?
でも、プロジェクトとして開かないと意味無いような気もするけれど、もしかしてそっちなのかな。
いずれにしても、私にはさっぱり分かりませんが・・・。
0494デフォルトの名無しさん
2007/08/07(火) 18:50:40同じかより以上に>>489みたいのもイラネエな俺は
0495デフォルトの名無しさん
2007/08/07(火) 18:53:240496デフォルトの名無しさん
2007/08/07(火) 18:58:010497デフォルトの名無しさん
2007/08/07(火) 19:01:11string line = "50";//行数
EnvDTE80.DTE2 dte2;
dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.8.0");
dte2.ExecuteCommand("File.OpenFile", file);
dte2.ExecuteCommand("Edit.GoTo", line);
0498デフォルトの名無しさん
2007/08/07(火) 19:06:140499デフォルトの名無しさん
2007/08/07(火) 19:07:530500デフォルトの名無しさん
2007/08/07(火) 19:10:01コードみちゃうとなんてことないね
0501デフォルトの名無しさん
2007/08/07(火) 19:55:07その程度使いこなせる人はどれくらいいるんだ?
0502デフォルトの名無しさん
2007/08/07(火) 19:57:31は禁止。
0503デフォルトの名無しさん
2007/08/07(火) 20:00:380504デフォルトの名無しさん
2007/08/07(火) 20:41:44割だからわかりません><
0505デフォルトの名無しさん
2007/08/07(火) 20:46:12誰かやめろって言わないのかな〜
0506デフォルトの名無しさん
2007/08/07(火) 21:12:06グーグルのソースを表示するプログラムなのですが
モデムの電源を切って実行するとたまに反応無しになってしまいます。
その後、e.Errorが呼ばれたり名前が解決できなかったりエラーもバラバラのようです。
モデムの電源を切っていてもキャンセルボタンを押せたり、
何回かプログラムを再起動したら反応無しになったりと、
再現性がないのですが、解決方法はないでしょうか?
0507デフォルトの名無しさん
2007/08/07(火) 21:16:18俺(俺たち?)はデバッガーじゃない。
お前のソース全部見て教えてやる気にはならない。
もっとスマートにやれ。
0508デフォルトの名無しさん
2007/08/07(火) 22:00:460509デフォルトの名無しさん
2007/08/07(火) 22:06:08エスパー回答
インターネット接続が不安定。
で、それに対応するようにコードが書かれていない。
0510506
2007/08/07(火) 22:06:10何が言いたいのか分かりません・・・。
教科書通りのプログラムで非同期が出来ないのは
WebClicentのバグなのかと思って投稿したのですが
何に気がさわったのでしょうか?
0511デフォルトの名無しさん
2007/08/07(火) 22:09:36半年romってろ。
0512デフォルトの名無しさん
2007/08/07(火) 22:10:47zip落としたり解凍したりコード全部眺めたりするのはマンドクセ
まるなげしてんじゃねーぞこのクソハゲ
質問は要点を3行でまとめろ低能
ってことじゃない?
おれはそんな酷いことは言わないよ。ただスルーするだけ。
0513デフォルトの名無しさん
2007/08/07(火) 22:11:340514デフォルトの名無しさん
2007/08/07(火) 22:13:320516デフォルトの名無しさん
2007/08/07(火) 22:15:29数行のコードでウダウダ言ってる奴は本当にプログラマーなのか?
0517デフォルトの名無しさん
2007/08/07(火) 22:16:200518デフォルトの名無しさん
2007/08/07(火) 22:16:58ふらっと向けだな。
でも住人も態度も同じ。
0519デフォルトの名無しさん
2007/08/07(火) 22:17:330520デフォルトの名無しさん
2007/08/07(火) 22:19:40ちなみにユーザー名はなに?
0521デフォルトの名無しさん
2007/08/07(火) 22:24:010522デフォルトの名無しさん
2007/08/07(火) 22:24:15ソースコード数万行、数十万行のプログラム書いたことある?
皆さん、数千行程度のプロトタイプ位のアプリしか作成したことないのかな?
って感じるところがあったもんで・・・
行数が多いからすごい、すごくないの議論をするつもりではありません。
0523デフォルトの名無しさん
2007/08/07(火) 22:24:44モデムの電源切ってインターネットに繋がるの?
>その後、e.Errorが呼ばれたり名前が解決できなかったりエラーもバラバラのようです。
バラバラでも全部書いたら?
多分、名前が解決できなかったりとあるからネットに正しく繋がってないんじゃないかな?
>モデムの電源を切っていてもキャンセルボタンを押せたり、
意味不明
0524デフォルトの名無しさん
2007/08/07(火) 22:25:110525デフォルトの名無しさん
2007/08/07(火) 22:25:56ない。
必要ないから。
0526デフォルトの名無しさん
2007/08/07(火) 22:27:130527デフォルトの名無しさん
2007/08/07(火) 22:29:00ネットに繋がってないときにキャンセルが出来るときと出来ないときがあるのです。
エラーは書いてあるとおり、e.Errorと名前の解決が出来ないです。
つまりエラーの内容が一定ではないのです。
バラバラと書いたのは伝わりにくかったかも知れません。
0528デフォルトの名無しさん
2007/08/07(火) 22:33:45↓
DNSにアクセスできてない。
↓
ネットに上手く繋がってない。
0529デフォルトの名無しさん
2007/08/07(火) 22:38:200530デフォルトの名無しさん
2007/08/07(火) 22:39:250531デフォルトの名無しさん
2007/08/07(火) 22:42:40開発の仕事ならないなあ。
仕事での開発じゃせいぜい月数千行くらいじゃないの?
したら100ヶ月もかかっちゃうよ
0532デフォルトの名無しさん
2007/08/07(火) 22:43:55そんなの数十万行のプログラムとか自慢げに言うことじゃないしなあ
まあそうでなくとも自慢げにいえるプログラムなんてそうそうないけどな
0533デフォルトの名無しさん
2007/08/07(火) 22:47:08あたかも、C++が出来ますなんてひといっぱいいんじゃんw
0534デフォルトの名無しさん
2007/08/07(火) 22:54:010535デフォルトの名無しさん
2007/08/07(火) 22:56:03もちろんそれが完成したプログラム、ではないけど。
くそソースはそらもう腐るほどあるが
0536デフォルトの名無しさん
2007/08/07(火) 23:00:00宇宙仮面のところは引っ越したらしいよ。
http://uchukamen.com/
0537デフォルトの名無しさん
2007/08/08(水) 00:24:44ループとか普通の制御構造も使わずにひたすらコピペでまっ平らな処理書いてた
そんなんで「今日は何千ステップも作って疲れたぜ」とか言っててもう・・・
0538デフォルトの名無しさん
2007/08/08(水) 00:31:35なにその縛りプレイ
0539デフォルトの名無しさん
2007/08/08(水) 00:35:56なんでそんな極端な例をもってくるかな?
けっきょく、サンプルプログラム程度しか書いたこと無いんでしょw
0540デフォルトの名無しさん
2007/08/08(水) 01:05:360541デフォルトの名無しさん
2007/08/08(水) 01:24:45数十万行のプログラム → 凄いプログラム
数千行のプログラム → プロトorサンプル程度のプログラムwwwっうぇwww
>行数が多いからすごい、すごくないの議論をするつもりではありません
とか言いながらそういう議論をしていることにも気付いてないのか・・・
0542デフォルトの名無しさん
2007/08/08(水) 01:26:520543デフォルトの名無しさん
2007/08/08(水) 01:37:170544デフォルトの名無しさん
2007/08/08(水) 01:42:21全体で8万行くらいのプログラムの一部だけど
0545デフォルトの名無しさん
2007/08/08(水) 01:55:46ボタンの名前が違ったりとかじゃないの?
そもそもどういうエラーがでるの?
というかみんなは>>454みたいな事をしたいときに
ハンドラを同じにして>>474の書き方しないのけぇ?
0546デフォルトの名無しさん
2007/08/08(水) 02:05:220547デフォルトの名無しさん
2007/08/08(水) 02:10:04おまえはいったいどこのコンパイラを使ってるんだw
VBっておちじゃないだろな
0548デフォルトの名無しさん
2007/08/08(水) 02:10:56エラー CS0150: 定数値が必要です。
エラー CS0150: 定数値が必要です。
エラー CS0150: 定数値が必要です。
エラー CS0150: 定数値が必要です。
エラー CS0150: 定数値が必要です。
0549デフォルトの名無しさん
2007/08/08(水) 02:13:29エラー 1 定数値が必要です。
caseのラベルの部分でこのエラーが出る
0550デフォルトの名無しさん
2007/08/08(水) 02:14:57実際にコード書いて試してみなよ
コンパイルできるんならそのコードを晒してみせてよ
0551506
2007/08/08(水) 02:18:56そのくせアレコレ書きもむとは
口先ばっかのとんだスレですな
0553デフォルトの名無しさん
2007/08/08(水) 02:56:130554デフォルトの名無しさん
2007/08/08(水) 03:57:30君のコンパイラは気まぐれでつねw
0555デフォルトの名無しさん
2007/08/08(水) 12:02:020556デフォルトの名無しさん
2007/08/08(水) 12:30:31だが、実際にどれくらい効率UPするかは疑問だけどね。
0557デフォルトの名無しさん
2007/08/08(水) 12:47:31ちょっといじってから股報告するノシ
0558デフォルトの名無しさん
2007/08/08(水) 13:52:34たとえば C:\ から "C"という文字列だけを取り出したいのですが。。。
0559デフォルトの名無しさん
2007/08/08(水) 14:13:12string root = Path.GetPathRoot( path );
if( !String.IsNullOrEmpty( drv ) )
drv = root[0].ToString();
0560デフォルトの名無しさん
2007/08/08(水) 14:13:57string drv;
string root = Path.GetPathRoot( path );
if( !String.IsNullOrEmpty( root ) )
drv = root[0].ToString();
0561デフォルトの名無しさん
2007/08/08(水) 14:24:59VisibleがfalseだとTopとLeftを変更しても意味がないようです。
0562デフォルトの名無しさん
2007/08/08(水) 14:41:46普通に Visible が false でも変更できるよ
一度もShowしてない状態で位置を変更するなら Form の StartPosition が Manual にする必要があるけどね
0563デフォルトの名無しさん
2007/08/08(水) 15:17:06ありがとうございます。
>StartPosition が Manual にする必要
この通りでうまくいきました。
0564デフォルトの名無しさん
2007/08/08(水) 18:56:13その逆で、stringから任意の型Tのインスタンスを作るのに便利なクラスとかはないでしょうか?
自前でやるなら、型TからParseメソッドを検索するとかでできるかなと思うんですが、
もしFrameworkにそういうクラスがあれば、そっちを使いたいと思いまして。
0565デフォルトの名無しさん
2007/08/08(水) 19:04:130566デフォルトの名無しさん
2007/08/08(水) 19:04:45Type
0567デフォルトの名無しさん
2007/08/08(水) 19:13:140568デフォルトの名無しさん
2007/08/08(水) 19:41:530569デフォルトの名無しさん
2007/08/08(水) 19:51:24出来るけどやめたほうがいい。
レベルが上がったら試してみればいい。
createObjectだったら話は別だが。
0570デフォルトの名無しさん
2007/08/08(水) 20:01:56>>568でおk
0571デフォルトの名無しさん
2007/08/08(水) 20:23:24変換方法を自分で実装するんだぞw
0572デフォルトの名無しさん
2007/08/08(水) 20:30:09プログラマ不要時代の到来w
0573デフォルトの名無しさん
2007/08/08(水) 20:31:43ひょとして「嫌味」が通じない人か?w
0574デフォルトの名無しさん
2007/08/08(水) 20:34:46ひょとして「嫌味」が通じない人か?w
0576564
2007/08/08(水) 20:46:11とかすればいいわけですね。
自前構造体では、TypeConverterの派生クラスを実装して、
TypeConverterAttributeつけると。
intとかにはTypeConverterAttributeがないようなので、
統一的に扱えないのが少し残念ですが。。。
ありがとうございました。
0577デフォルトの名無しさん
2007/08/08(水) 20:51:44普通にできるって
0578デフォルトの名無しさん
2007/08/08(水) 21:02:33インスタンスが作りたいだけじゃなくて同時にメンバに値を入れたいんだろ
0579デフォルトの名無しさん
2007/08/08(水) 21:03:59任意の型にToStringを何も考えずにやるのはやめた方がいい。
DateTimeみたいにフォーマットとか指定しないと地域と言語のオプションに依存するのがあったりして挙動が変わったりする。
たまにtipsとしてエクスプローラなどの日付の形式を変えるものが紹介されてたりするし。
日付の形式を和暦で元号付きとかにしてみるのがおすすめ。
まぁ表示用だけならかまわないんだが元に戻す変換もやろうとしてるみたいだし。
0580デフォルトの名無しさん
2007/08/08(水) 21:12:15また訳のわかんないことをw
0581デフォルトの名無しさん
2007/08/08(水) 21:22:38つりはするーしろ
0582デフォルトの名無しさん
2007/08/08(水) 23:10:12あほう?
0583デフォルトの名無しさん
2007/08/08(水) 23:11:320584デフォルトの名無しさん
2007/08/08(水) 23:12:56本当にコード書いてる人間か?
0585デフォルトの名無しさん
2007/08/08(水) 23:18:09何つかったって似たようなもんだろ。
ああ、Type.GetTypeとリフレクションの組み合わせか
そうかそうか
なんのこっちゃ
0586デフォルトの名無しさん
2007/08/08(水) 23:19:43ありえんとか言ってるのか?
じゃあ実装しなくても任意の型対称にできる方法を出してくれ
0587デフォルトの名無しさん
2007/08/08(水) 23:20:26そうかそうか
なんのこっちゃ
0588デフォルトの名無しさん
2007/08/08(水) 23:24:280589デフォルトの名無しさん
2007/08/08(水) 23:26:11コード書かない人間がTypeConverterなんか知ってるのか!!
0590デフォルトの名無しさん
2007/08/08(水) 23:39:320591デフォルトの名無しさん
2007/08/08(水) 23:57:400592デフォルトの名無しさん
2007/08/09(木) 09:29:420593デフォルトの名無しさん
2007/08/09(木) 10:18:19それともデフォルトのCodeModelで全部間に合うってことかね?
ためしてみようとおもったけどComえらー(なんたらREJECT)が出たので検証できず・・・orz
0594デフォルトの名無しさん
2007/08/09(木) 13:52:240595デフォルトの名無しさん
2007/08/09(木) 17:38:570596デフォルトの名無しさん
2007/08/09(木) 17:41:350597デフォルトの名無しさん
2007/08/09(木) 18:38:49ウインドウのインスタンスが特定できない場合にも使えるようなメソッドってありますか?
System.Windows.Forms.Timerを使えばできなくもないですが、やや面倒なので。
0598デフォルトの名無しさん
2007/08/09(木) 18:47:32UI スレッドってのはウィンドウにひもづいてるわけで、
「どのウィンドウの UI スレッドに処理させたいのか」が
不明では何もしようがないよ・・・
0599デフォルトの名無しさん
2007/08/09(木) 18:48:43普通にテキトーなコントロールをスレッド使うクラスに渡せばいいじゃん。
ライブラリ作ってるとかで(くだらない体裁上の問題だとは思うが)どうしても
そういう泥臭いのがいやという事情なら、後々他で使うことも考慮して
ダミーの非表示フォームでもシングルトンで作ってそれを利用するとか。
ダミーフォームのインスタンスはApplication.Idleとかで作成すればいい。
0600597
2007/08/09(木) 19:00:43メッセージループはウインドウの存在に関わらず存在するんで無理ではないような。
>>599
やっぱないですかね。
適当なコントロールを渡すのが嫌という訳ではなくて
任意の時点で必ず存在しているコントロールというものがないんです。
ダミーフォームっていうのも手ですがそれならTimer使ってやったほうがよさげですね。
0601デフォルトの名無しさん
2007/08/09(木) 22:38:570602デフォルトの名無しさん
2007/08/09(木) 23:12:43ふつーーーーーに、ダミーフォームをメインスレッドで作って、それをメインスレッドを体現するオブジェクトとして扱えばいいと思うけれど。
FACADEで隠せば何も問題がない。
0603デフォルトの名無しさん
2007/08/09(木) 23:15:23を作るのがそんなにフツーのこととも思えないよw
0604デフォルトの名無しさん
2007/08/09(木) 23:17:530605デフォルトの名無しさん
2007/08/09(木) 23:43:32if(Application.OpenForms.Count>0)
Application.OpenForms[0].Invoke(hoge);
じゃだめなの?
0606デフォルトの名無しさん
2007/08/09(木) 23:53:530607デフォルトの名無しさん
2007/08/09(木) 23:56:590608デフォルトの名無しさん
2007/08/10(金) 00:45:280609デフォルトの名無しさん
2007/08/10(金) 00:56:000610デフォルトの名無しさん
2007/08/10(金) 00:59:290611デフォルトの名無しさん
2007/08/10(金) 01:01:41Dispatcherて何さ?あと英単語の間に空白いれてるのはなぜ?
0612デフォルトの名無しさん
2007/08/10(金) 01:08:520613デフォルトの名無しさん
2007/08/10(金) 01:23:02>英単語の間に空白いれてるのはなぜ?
× IamJapanese.
○ I am Japanese
0614デフォルトの名無しさん
2007/08/10(金) 01:32:41所詮C#なんておこちゃま言語使ってるのに
hogeなんてunixを恰も知ってるような単語を使うのは止めましょう
0615デフォルトの名無しさん
2007/08/10(金) 01:34:15日本語とアルファベットの間ってことかな?
俺は Wikipedia とかない頃から space よくいれる。
文字によってはくっついて読みづらかったりするからね。
>>614
次から foo にしますね。
0616デフォルトの名無しさん
2007/08/10(金) 01:36:100617デフォルトの名無しさん
2007/08/10(金) 01:56:010618デフォルトの名無しさん
2007/08/10(金) 02:24:07加えてバッドノウハウだし。
0619デフォルトの名無しさん
2007/08/10(金) 02:29:050620デフォルトの名無しさん
2007/08/10(金) 02:45:29プロポーショナルフォントでコードを書いてみよう
0621デフォルトの名無しさん
2007/08/10(金) 02:53:46元々、和欧文字間の1/4スペースがちゃんと空けられずに表示されてしまう
ことから来てるものなんだが、
これをバッドノウハウと言わずしてなんという?
0622デフォルトの名無しさん
2007/08/10(金) 07:04:080623デフォルトの名無しさん
2007/08/10(金) 09:00:230624デフォルトの名無しさん
2007/08/10(金) 09:07:390625デフォルトの名無しさん
2007/08/10(金) 10:53:010626デフォルトの名無しさん
2007/08/10(金) 11:10:46このサイトを参考に、アプリケーション構成ファイルに独自セクションと独自エレメントを追加
しようとしているのですが、わからないことがあります。
このサイトの例は
<myCustomSection>
<myChildSection />
<myChildSections>
<myChildSection />
<myChildSection />
</myChildSections>
</myCustomSection>
と、myCustomSectionの子のmyChildSectionsがmyChildSectionのコレクションになってますが、
<myCustomSection>
<myChildSection />
<myChildSection />
<myChildSection />
</myCustomSection>
と、myCustomSectionが直接myChildSectionのコレクションとなるようにしたいです。
そこでわからないのが、<configSections>の<section>のtype属性で指定するハンドラの作り方です。
サイトをみると、セクションを定義するハンドラはConfigurationSectionクラスを継承し、
コレクションであるにはConfigurationElementCollectionを継承してコレクション独自のメソッドを
オーバーライドする必要があるようですが、それぞれ継承しているのがインタフェースではなくクラス
であるため、多重継承ができず、セクションを定義するハンドラかつコレクションというのが
できないように思えます。
上記のような構成ファイルを作るには、どうすればいいのでしょうか。
よろしくお願いします。
0627デフォルトの名無しさん
2007/08/10(金) 11:36:47ただし、そのコレクションをあらわすプロパティの属性名を""のように空にして
IsDefaultCollection をtrueにする。
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1772648&SiteID=7
参考
0628デフォルトの名無しさん
2007/08/10(金) 22:19:49内の部署はWINアプリは相変わらず、VC++MFCです。
0629デフォルトの名無しさん
2007/08/10(金) 22:32:320630デフォルトの名無しさん
2007/08/10(金) 22:32:480631デフォルトの名無しさん
2007/08/10(金) 22:41:57.NET以外は使えないの2択。
0632デフォルトの名無しさん
2007/08/10(金) 22:45:020633デフォルトの名無しさん
2007/08/10(金) 22:45:52でもWinFormsは糞です。
0634デフォルトの名無しさん
2007/08/10(金) 23:34:44そのときに必要なキャストも動的にやりたいです
void func ( string classname, Type type ) {
何か = ( classname ) Activator.CreateInstance( type );
}
みたいな感じで…
キャストするクラス名を動的に決めるのってどうやればいいんでしょうか?
0635デフォルトの名無しさん
2007/08/10(金) 23:35:12標準のコンポーネントなんてほぼ使えないからほとんど一から
書き起こすことになるそうなるとVC++MFCもVC#も大して変わらん
そのくせ、遅い
とてもじゃないが、業務用では無理
0636デフォルトの名無しさん
2007/08/10(金) 23:37:02フラット池よ
0637デフォルトの名無しさん
2007/08/10(金) 23:43:50キャストって何か考えてみろ。
まあジェネリック使えばできる。
0638デフォルトの名無しさん
2007/08/10(金) 23:44:31動的に文字列で指定だったな、すまんw
0639デフォルトの名無しさん
2007/08/10(金) 23:48:36え?業務アプリこそC#だと思うのだが…
業務用ってなんのこと?
0640デフォルトの名無しさん
2007/08/11(土) 00:56:24入力系アプリにエフェクトやアニメーションなんかいらないからな。
0641デフォルトの名無しさん
2007/08/11(土) 00:58:02普通の特定のインターフェースや基底クラスを持つクラスのインスタンスを動的に作るんだろ?
キャストする型名もその時点で決まってるのだから動的に型名を指定するなんて状況にはならないだろ?
0642デフォルトの名無しさん
2007/08/11(土) 07:10:56この間リフレクションでenumのフィールドか何かに対して何か処理したいときに何か対照の型に変換したらすっきりするという状況あったんだが・・・
他の逃げ方あったので忘れた。その場で型変換して使うというよりも動的に相手の型のインタフェースに合わせるために変える必要があるみたいな。
0643デフォルトの名無しさん
2007/08/11(土) 07:16:44ユーザ環境にACCESSがインストールされてなくても
ADO使ってMDBにアクセス出来ますか?
0644デフォルトの名無しさん
2007/08/11(土) 08:29:06お金を出して買う気にはなれん
0645デフォルトの名無しさん
2007/08/11(土) 10:39:410646デフォルトの名無しさん
2007/08/11(土) 10:48:34こういうことだけを書きに来る人って生きてる価値ないよな
0647デフォルトの名無しさん
2007/08/11(土) 10:56:120648デフォルトの名無しさん
2007/08/11(土) 14:03:57(アンマネージリソースは直接持ってない)、ファイナライザは実装しなくてもいいの?
0649デフォルトの名無しさん
2007/08/11(土) 14:11:010650デフォルトの名無しさん
2007/08/11(土) 14:11:430651デフォルトの名無しさん
2007/08/11(土) 14:12:20http://msdn2.microsoft.com/ja-jp/library/fs2xkftw(VS.80).aspx
0652デフォルトの名無しさん
2007/08/11(土) 15:25:14コピペ君っていうのは、ひょっとしてコピペするだけで、人は俺様の考えを
読み取ってくれるだろう、あるいは読み取るべきだ、とでも思ってるのかなw
0653デフォルトの名無しさん
2007/08/11(土) 15:54:430654デフォルトの名無しさん
2007/08/11(土) 16:01:060655デフォルトの名無しさん
2007/08/11(土) 17:19:230656デフォルトの名無しさん
2007/08/11(土) 17:27:240657デフォルトの名無しさん
2007/08/11(土) 17:33:59自コントロール内のオブジェクトを外にドラッグドロップするにはDoDragDropメソッドを
使うと思うんですが、例えば書庫内のファイルをエクスプローラにドロップする場合のように、
ドロップした時に何らかの処理(この場合一時ファイルとして解凍する)を行いたいときは
どうすればよいのでしょうか?
0658デフォルトの名無しさん
2007/08/11(土) 17:41:060659デフォルトの名無しさん
2007/08/11(土) 17:45:480660657
2007/08/11(土) 18:09:51え、どの辺に載ってます?
一応DoDragDropとかOnDragDropとかは調べたつもりなんですが。
>>659
ドロップ先が自分のアプリの管轄とは限らないんで。
0661デフォルトの名無しさん
2007/08/11(土) 18:20:030662657
2007/08/11(土) 18:42:020663デフォルトの名無しさん
2007/08/11(土) 18:53:13こういうのってブラウズしてる時点でテンポラリフォルダに解凍してんじゃね?
もしファイルをエクスプローラにドラッグするなら
すくなくともパス等をDataObjectに入れとかなきゃいけないのでは
そうでないと受ける側がeffectきめらんないでそ
0664デフォルトの名無しさん
2007/08/11(土) 18:56:46QueryContinueDrag 使えばなんとかなるらしいが
0666デフォルトの名無しさん
2007/08/11(土) 22:39:250667デフォルトの名無しさん
2007/08/11(土) 22:40:080668デフォルトの名無しさん
2007/08/11(土) 23:19:470669デフォルトの名無しさん
2007/08/12(日) 00:52:57Frameworkのみ
0670デフォルトの名無しさん
2007/08/12(日) 01:49:11XP以降は不要
0673デフォルトの名無しさん
2007/08/12(日) 10:25:08GUIのプログラムを長くしてなかったため(してたときも初心者でした)、
ソースコードがスパゲッティになってしまいます。
一応オブジェクト指向や、テストなど一通り学んだつもりだったので、
足りない物を探して、MVCかPACといわれるものではないかと思ったのですが、あってますか?
また、それらを学ぶための良い本などありましたら、是非教えてください。お願いします。
0674デフォルトの名無しさん
2007/08/12(日) 12:50:330675デフォルトの名無しさん
2007/08/12(日) 13:02:07WPFだと、XAMLだけでViewを定義することも可能だからMVCモデルも
イベントドリブンも可能
0676デフォルトの名無しさん
2007/08/12(日) 15:21:13オブジェクト指向、MVC、PACとの関連性がわかんね
それ以前のもんだいじゃね
0677デフォルトの名無しさん
2007/08/12(日) 15:56:070678デフォルトの名無しさん
2007/08/12(日) 16:13:500679デフォルトの名無しさん
2007/08/12(日) 18:36:19自分で作るのはとてつもなく面倒なんだけど。
0680デフォルトの名無しさん
2007/08/12(日) 21:24:560681673
2007/08/12(日) 21:43:15コンポーネント単位っていうのは、つまりForm単位ってことですか?
今はとりあえず単一のFormでプログラムをしてますんで、独立してると思います。
>>675
WPFですか、本格的にMVCを勉強するならやってみようと思います。
>>676-678
まだ経験がないため、うまく作れるよう手法を探してたのですが、
MVCなど以前の問題ということなら、どのように勉強すればいいですか?
0682デフォルトの名無しさん
2007/08/12(日) 21:43:27それがこの世の掟
0683デフォルトの名無しさん
2007/08/12(日) 22:11:210684デフォルトの名無しさん
2007/08/12(日) 22:54:15>コンポーネント単位
ユーザコントロールも積極的に使う
WPFでは推奨されないらしいけどw
0685デフォルトの名無しさん
2007/08/12(日) 23:16:43理解するのが先決だと思うよ。
たぶん、クラスによる役割分担も考えず、VB的に全部の処理をFormのに書いてるんだろうけど、
OOPがほんのちょっと理解できればそんな馬鹿なことはやれって言われても
したくなくなるよ。
0686デフォルトの名無しさん
2007/08/12(日) 23:24:150687デフォルトの名無しさん
2007/08/12(日) 23:25:160688デフォルトの名無しさん
2007/08/12(日) 23:35:33Java Language Conversion Assistant 3.0というのがVisutla Sudio 2005
に入っていて、JavaのコードをC#に変換できると書いてありました。
さっそく使ってみようとすると、メニューの「ファイル→開く」あたりに
それらしき機能が見あたりません。
(MSのサイトには、「ファイルメニュー→開く→変換」で実行する、とあります)
下のページでは、セットアップ中にJava Language Conversion Assistantを
入れるか選択できると書いてありますが、インストールはほぼ全自動で、
インストールする機能の選択はできませんでした。
このJava Language Conversion Assistantというのは、VS2005の
Express Editionでは利用できないのでしょうか?
http://msdn2.microsoft.com/ja-jp/vstudio/Aa718346.aspx
>How to install the Java Language Conversion Assistant 3.0:
>For customers using Visual Studio 2005, the official release of the
>Java Language Conversion Assistant 3.0 can be selected for installation
> during the setup of Visual Studio 2005.
よろしくお願いします
0689デフォルトの名無しさん
2007/08/12(日) 23:40:000690デフォルトの名無しさん
2007/08/12(日) 23:42:13J#と言う落ちじゃないよな?
0691デフォルトの名無しさん
2007/08/12(日) 23:46:38もちろん、そういうオチ。バージョン見れば自明だけど。
0692デフォルトの名無しさん
2007/08/13(月) 00:00:28>まだ経験がないため、うまく作れるよう手法を探してたのですが、
さしあたってCode Complete第2版〈上〉かな
基本的な技法が網羅されている
最初から、全部を読んだり、全てをやろうとする必要はなく、
スパゲティになる原因で心当たりのありそうなところを重点的にやるのが良と思われる
0693デフォルトの名無しさん
2007/08/13(月) 00:08:01はい。自分が変換したいJavaのコードはJLCAで変換できるそうです。
>>690
↑の英文サイトみてもらうとわかりますけど、JavaからC#に変換する
ツールですよ。対応する.net frameworkの機能に置き換えてくれます。
MicrosoftがC#に移行してもらうためにつくったツールなので
JavaでもJ#のコードでも大丈夫みたいです。
>>691
バージョン見れば自明とはどういう意味でしょうか?
0694デフォルトの名無しさん
2007/08/13(月) 00:46:12乗ってなくても不思議はない。
J# は J2EE1.3 の独自実装ライブラリを含む、
言語というよりは .NET Framework の副次的なフレームワーク。
想像だけど、自分のコード分は C# に翻訳してくれて、使うライブラリは J# のなんだろうね。
0695デフォルトの名無しさん
2007/08/13(月) 00:49:28Visual Studioは言語だったんだ
0696デフォルトの名無しさん
2007/08/13(月) 01:01:380697デフォルトの名無しさん
2007/08/13(月) 01:02:32日本語大丈夫?
0698デフォルトの名無しさん
2007/08/13(月) 01:38:29だめ
0699デフォルトの名無しさん
2007/08/13(月) 09:39:560700デフォルトの名無しさん
2007/08/13(月) 11:33:18ありがとうございます。
もう一度ISOファイルを落として再インストールしてみましたがやはり
Expressはインストール機能の選択不可でしたので、Java Language
Conversion Assistantは利用できなさそうです。
さらに、JLCAはVisual Studio 2008からはサポートされないそうです。
>>699
コード変換ができないとなると、J#でアセンブリを作るしかないですかね。
J#でdllへコンパイルすることはできました。
ただC#からそのアセンブリを使う方法がわからず、SDKを読んでいましたw
アセンブリを作ってC#からそれを利用する場合、
Java(J#)側のコードを大きく書き換える必要はないという理解で
あっていますでしょうか?
0701デフォルトの名無しさん
2007/08/13(月) 18:01:590702デフォルトの名無しさん
2007/08/13(月) 19:41:00また、これよりもいい方法はないでしょうか?
(1)List<T>をつくって追加していきそれを返す。
(2)
public MultipleEnumerable<T> : IEnumerable<T>
{
List<IEnumerable<T>> List{get;set;}
public IEnumerator<T> GetEnumeratot()
{
foreach(IEnumeratble<T> enu in this.List)
foreach(T value in enu)
yield return value;
}
0703デフォルトの名無しさん
2007/08/13(月) 19:48:16自分が一番いいと思うように手で書けばいいんじゃね
0704デフォルトの名無しさん
2007/08/13(月) 19:48:440705デフォルトの名無しさん
2007/08/14(火) 12:22:00XmlTextReader で XML を処理するんだけど、その XML がファイルに入ってるんじゃなくて
変数に入ってる。一度ファイルに吐き出してから読みだすこともできると思うけど、直接
変数から読みだしたいなと思ったんだけど、こういうの出来る?
0706デフォルトの名無しさん
2007/08/14(火) 12:23:560707デフォルトの名無しさん
2007/08/14(火) 12:35:31セックス
0708デフォルトの名無しさん
2007/08/14(火) 20:22:49オブジェクトの場合はどうやって操作すればいいんだ?
例えば、JavaScriptで
function hoge()
{
return new Array( 1 , 2 ,3 ,4 , 5 );
}
って宣言していて、このほげが返す配列の中身にアクセスするにはどうすれば・・・。
0709デフォルトの名無しさん
2007/08/14(火) 20:25:59この程度のことが分からない奴がUNIXを触っていたとは思えんが
なぜhogeなんですか?
0710デフォルトの名無しさん
2007/08/14(火) 20:39:570711デフォルトの名無しさん
2007/08/14(火) 20:53:02お前なんか勘違いしているぞ。
それともわざと書いてるのか?
0712708
2007/08/14(火) 21:11:47function hoge()
{
return { name:"hoge",id:50 };
}
VBですまそ。
Dim obj As Object = WebBrowser1.Document.InvokeScript("hoge")
Dim name As String = obj.GetType().InvokeMember("name", Reflection.BindingFlags.GetProperty, Nothing, obj, Nothing).ToString()
Dim id As Integer = CType(obj.GetType().InvokeMember("id", Reflection.BindingFlags.GetProperty, Nothing, obj, Nothing), Integer)
結果はnameがhoge,idが50
MSDNライブラリに「GetTypeしてInvokeMemberしろ!」書いてあったので、
とりあえずフラグをGetFieldにしたら例外を投げられてしまい、
GetPropertyに変更したら値を取得できました。
ただ、名前を特定できるメンバならともかく配列の場合はどうすれば・・・。
0713デフォルトの名無しさん
2007/08/14(火) 21:22:320715デフォルトの名無しさん
2007/08/15(水) 20:18:41ラベルとかに貼り付けていますが、「〜」という文字が化けてしまいます。
デバッガで変数内の「〜」をみるとちゃんと入っていますが、PPC 上では文字が□になっています。
どうしてでしょうか?
0716デフォルトの名無しさん
2007/08/15(水) 20:52:140717デフォルトの名無しさん
2007/08/15(水) 22:07:11「〜」はFULLWIDTH TILDEだったり、WAVE DASHだったりするから。
同じ文字を意図してるのに ベンダによってコードポイントが違う。
0718デフォルトの名無しさん
2007/08/16(木) 17:01:50抽象的すぎて申し訳ないのですが、この“何か”を実現する構文ってありませんか?
例えば文字列"hoge"とメソッドpiyo()がペアだったとき、
array["hoge"];
method("hoge");
などとすることで
piyo();
と書いたときと同じ結果が得られる
ということをやりたいのです。
最初はswitch-case文でやっていたのですが、さすがに冗長になりすぎてしまいました。
そこで、もっと優れた方法があるはずだと思ったしだいです。
よろしくお願いします。
0719デフォルトの名無しさん
2007/08/16(木) 17:07:34Dictionary<string, MethodInvoker> でも使ってれば?
0720デフォルトの名無しさん
2007/08/16(木) 17:15:200721デフォルトの名無しさん
2007/08/16(木) 17:17:24MakeGenericMethodとか使ってゴリゴリやれば取れそうなんだけど、微妙に遅そう。
0722デフォルトの名無しさん
2007/08/16(木) 17:18:08普通はキーが string で値がデリゲートの Dictionary 使うか。
0723デフォルトの名無しさん
2007/08/16(木) 17:31:190724デフォルトの名無しさん
2007/08/16(木) 17:31:46static object GetDefaultValueOf(Type type)
{
return type.IsValueType ? Activator.CreateInstance(type) : null;
}
0725721
2007/08/16(木) 17:40:39こんなんしといたけどそっちのほうが早そうだ。
static MethodInfo _defaultValueMI;
static Dictionary<Type, object> _typeToDefaultValueDic = new Dictionary<Type, object>();
static DBStorageUtil() {
_defaultValueMI= typeof(DBStorageUtil).GetMethod("GenericDefaultValue", BindingFlags.Static|BindingFlags.NonPublic);
}
static object GenericDefaultValue<TYPE>() {
return default(TYPE);
}
static public object DefaultValue(Type type) {
object value;
if (!_typeToDefaultValueDic.TryGetValue(type, out value)) {
value = _defaultValueMI.MakeGenericMethod(type).Invoke(null,null);
_typeToDefaultValueDic.Add(type, value);
}
return value;
}
0726デフォルトの名無しさん
2007/08/16(木) 21:13:31return default(TYPE);
}
だけとか
static object GenericDefaultValue<TYPE>() where TYPE : new() {
return new TYPE();
}
だけではなんでだめなのか
0727デフォルトの名無しさん
2007/08/16(木) 21:14:470728デフォルトの名無しさん
2007/08/17(金) 00:10:41業務用で多用するものかね?デバッグやりづらいと思うんだけど。
0729デフォルトの名無しさん
2007/08/17(金) 00:53:34業務では知らないうちに知らないとこで使われてるくらいだろ。
0730デフォルトの名無しさん
2007/08/17(金) 01:00:00業務じゃ使わないとおもう
最初に設計されているからね。
分けのわからん素人か、トリッキーなコードが好きな人しか使わないよ。
0731デフォルトの名無しさん
2007/08/17(金) 01:12:520732デフォルトの名無しさん
2007/08/17(金) 02:48:330733デフォルトの名無しさん
2007/08/17(金) 16:09:55実行できません・…
別途何かファイルを用意しないといけないのでしょうか?
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.ReportViewer.WinForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
ファイル名 'Microsoft.ReportViewer.WinForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' です。
0734デフォルトの名無しさん
2007/08/17(金) 16:12:040735デフォルトの名無しさん
2007/08/18(土) 21:31:20ボタンをおすと、ファイルダイアログとかフォントダイアログが
開くある親ダイアログを作ってた。
いつのまにかどのダイアログボタンでOKをおしても、親のダイアログが
閉じてしまう。DialogResultはCancel。
なんかスレッドまわりで変なことしてないか小一時間悩んだあげく、
Designer.csみたらすべてのボタンに
.DialogResult = System.Windows.Forms.DialogResult.Cancel;
が勝手についてた。
たのむよデザイナorz
0736デフォルトの名無しさん
2007/08/18(土) 23:32:120737デフォルトの名無しさん
2007/08/18(土) 23:41:13それはよくある質問
よくある回答
MSに聞け
0738デフォルトの名無しさん
2007/08/18(土) 23:43:320739デフォルトの名無しさん
2007/08/19(日) 00:00:310740デフォルトの名無しさん
2007/08/19(日) 00:14:200741デフォルトの名無しさん
2007/08/19(日) 00:21:020742デフォルトの名無しさん
2007/08/19(日) 00:27:380743デフォルトの名無しさん
2007/08/19(日) 00:46:070744デフォルトの名無しさん
2007/08/19(日) 00:47:180745デフォルトの名無しさん
2007/08/19(日) 00:48:11Visual C# 2005やVisual Basic 2005のプロジェクトプロパティを表示して
おもむろにそこをSpy++で見てみると……
というかプロジェクトプロパティが表示されるまでなまら時間がかかる理由は、
よせばいいのにWinForms使ったからというのがもっぱらの噂。
0746デフォルトの名無しさん
2007/08/19(日) 00:52:01あなたバカですか?
その質問とおまえの質問が等価とでも?hw
0747デフォルトの名無しさん
2007/08/19(日) 00:52:46あと、WinFormsのデザイン画面でデザイン中のウィンドウを描画してる部分は.NETで動いてるよ。
考えてみれば当たり前の話だけど。
他にはIDEのマクロが(.NETの)VBで書かれてるとか。
0748デフォルトの名無しさん
2007/08/19(日) 01:02:33どう考えても釣り
0749デフォルトの名無しさん
2007/08/19(日) 01:15:440750デフォルトの名無しさん
2007/08/19(日) 01:19:20例えばIntelliSenseサポートのためとかかな?
MSのC#コンパイラには、メモリ常駐するモードがあって、
IDEでコード書いているときに常に裏で動きながらIntelliSenseをサポートしている。
IntelliSenseをサポートするためには、
不完全な文の処理とかIDEとの通信とか余計な機能が必要になるので、
高速化のためにメモリ常駐までやるそうな。
コンパイラもC#で書いた方がMSとしては楽なんだろうが、
速度のためには開発コストが余計にかかっても良いと判断したんだろう。
ちなみにC# 3.0に付属するExpression Treeの実行時コンパイラは完全マネージド実装。
多分C#で書かれてる。
あとはMonoのC#コンパイラもC#で書かれてる。
ttp://anonsvn.mono-project.com/viewcvs/trunk/mcs/mcs/
余談ついでにNemerleコンパイラをソースからビルドするにはNemerleコンパイラが必要。
ttp://nemerle.org/
0751デフォルトの名無しさん
2007/08/19(日) 01:34:14コンパイラをコンパイルするときどうすんの?
別の言語であらかじめコンパイラをコンパイルしとくわけですか?
0752デフォルトの名無しさん
2007/08/19(日) 01:37:130753デフォルトの名無しさん
2007/08/19(日) 10:29:080754デフォルトの名無しさん
2007/08/19(日) 10:37:45SSCLIのsscli20\clr\src\bcl\以下のクラスもC#で書かれてるね。
System.Int32とかSystem.VoidとかもC#で書かれてる。
(プリミティブ型そのものじゃなくてboxingされた参照型状態のSystem.Int32の方)
ttp://research.microsoft.com/sscli/
例えばSystem.Voidはこう定義されてる。
namespace System {
using System;
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Void
{
}
}
0755754
2007/08/19(日) 10:40:32単に.NETの構造体としてのInt32を定義してるだけだな。
[Serializable, System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Int32 : IComparable, IFormattable, IConvertible
, IComparable<Int32>, IEquatable<Int32>
{
internal int m_value;
public const int MaxValue = 0x7fffffff;
public const int MinValue = unchecked((int)0x80000000);
0756デフォルトの名無しさん
2007/08/19(日) 14:36:25たとえば、テキストオブジェクトが100個あって、それぞれ
txt_00〜txt_99
まで連番の名前が付いている場合、あるボタンがクリック
されたときに、それぞれの値のチェックをして、その結果で
Visibleを制御したいようなとき、100回も同じような
処理をするのは無駄なので For で回してオブジェクト
を操作したいのですが、どのようにすれば、idの一部だけ
異なるオブジェクトを、オブジェクトとして操作できるように
取得できますか?
0757デフォルトの名無しさん
2007/08/19(日) 14:44:050758デフォルトの名無しさん
2007/08/19(日) 15:36:42こういうことでいいのかな?
panel1 に TextBox が100個あるとして、TextBoxの値が"visible"の時だけ表示させるコード
for (int i = 0; i < 100; i++)
{
TextBox tb = (TextBox)panel1.Controls["txt_" + i.ToString("00")];
if (tb == null) continue;
tb.Visible = tb.Text == "visible";
}
0759デフォルトの名無しさん
2007/08/19(日) 15:41:110760デフォルトの名無しさん
2007/08/19(日) 16:28:32でも100個ぐらいならデザイナでもコピペでいけるが
プロパティ弄るのがきついな
0761デフォルトの名無しさん
2007/08/19(日) 16:31:410762デフォルトの名無しさん
2007/08/19(日) 16:36:430763デフォルトの名無しさん
2007/08/19(日) 16:38:01自分で作ったライブラリだと100並べようが1000個並べようが速度ほとんど変わらないのに。
0764756
2007/08/19(日) 16:48:56そんな感じのことがやりたいです。
(書いた後に思いついたのですが、Javascriptでいう、getElementsById です)
教えていただいた方法でやってみたのですが、Controls[int]らしく、文字列で
指定できないと怒られてしまいました。
環境を書き忘れてましたが、ASP.NET 2.0 上で開発しています。
Windows.Form と Web.UI では違うんでしょうか?
>>759
今回は例えで100と書きましたが、以前VBScript時代に200表示したことも
あります。
(設定画面でそうしてくれと言われたので。ハイスペックを要求するページでした)
0765デフォルトの名無しさん
2007/08/19(日) 16:54:130766デフォルトの名無しさん
2007/08/19(日) 17:08:52>環境を書き忘れてましたが、ASP.NET 2.0 上で開発しています。
>Windows.Form と Web.UI では違うんでしょうか?
全然違うのでその書き忘れは正直ヒドイ。
いまどきのブラウザはテキストボックスだろうがボタンだろうが自前描画しているので
数を増やしたからといって表示がそこまで遅くなることはないし。
騙された>>762や>>763に謝れw
0767デフォルトの名無しさん
2007/08/19(日) 17:29:530768756
2007/08/19(日) 18:27:27Windows.Formではコーディングしたことがないので、それほど違うとは思って
いませんでした。(といっても.NET自体ほとんど使ったことがないですが)
申し訳ないです。
>>767
FindControlでいけました。ありがとうございます。
0769デフォルトの名無しさん
2007/08/19(日) 20:11:39public A Value
{
get
{
return a;
}
set
{
a = value;
}
}
これを
public A Value;
にするべきでないのはなぜ?
0770デフォルトの名無しさん
2007/08/19(日) 20:14:390771デフォルトの名無しさん
2007/08/19(日) 20:24:150772デフォルトの名無しさん
2007/08/19(日) 20:26:25なんで変数だけプロパティ経由じゃないとダメなのか謎
0773デフォルトの名無しさん
2007/08/19(日) 20:36:100774デフォルトの名無しさん
2007/08/19(日) 20:37:480775デフォルトの名無しさん
2007/08/19(日) 20:39:16アクセッサの事かな?
内容を直接見られないようにするのと
値が変更された際の処理の記述が簡単になるからでよいのかしら…
0776デフォルトの名無しさん
2007/08/19(日) 20:52:31いいえ。どうしてもフィールドをpublicにしたい場合は、構造体をお使いください。
0777デフォルトの名無しさん
2007/08/19(日) 21:01:30構造体も使うよ
コピーじゃなく参照で扱いたい時はクラスにする
0778デフォルトの名無しさん
2007/08/19(日) 21:09:05おかしなことを言うな。
真似する馬鹿がでるだろ。
0779デフォルトの名無しさん
2007/08/19(日) 21:12:23お前のプログラムって性能悪そうだな
0780デフォルトの名無しさん
2007/08/19(日) 21:16:22そのうち、暇なときとか他の人に見せるときにいそいそとプロパティ化している。
0781デフォルトの名無しさん
2007/08/19(日) 21:20:37継承してoverrideできないという理由が結構大きい。
リモート呼び出しがインターフェイス限定といってみるとわかるかなぁ。
0782デフォルトの名無しさん
2007/08/19(日) 21:21:10そもそもダメってことはないんだけどね。
publicでフィールド公開しても別にいいんだよ。
それで本当に問題がないと確証できるのならね。現在も将来も。
0783デフォルトの名無しさん
2007/08/19(日) 21:28:24自分は他人に見せないものでも初めからプロパティで書くなぁ
半年後やら1年後やらにソースを見るかもしれない自分のために
0784デフォルトの名無しさん
2007/08/19(日) 21:31:13VSつぢおのIDEがもうちょっとつかいやすければ、たとえば複数のフィールドに対して、まとめてチェックボックスとかでget,set分けたプロパティの生成ができたりするならやるんだけどね・・・
0785デフォルトの名無しさん
2007/08/19(日) 21:33:19オンライン上のjpegファイルをWindowsフォームで表示したいのですが、
これって、一度ダウンロードしてローカルにファイル化した後に
Streamで開いて読み込みしなきゃダメでしょうか?
ファイル化しないでそのままメモリに貯めて表示ってできないでしょうか?
0786デフォルトの名無しさん
2007/08/19(日) 21:40:56MemoryStream
0787デフォルトの名無しさん
2007/08/19(日) 21:47:390788デフォルトの名無しさん
2007/08/19(日) 21:48:04自分の用途ではConnectStreamでよかったっぽいです。
ありがとうございました。
0789デフォルトの名無しさん
2007/08/19(日) 22:35:44正直リモート呼び出しでプロパティアクセスはどうかと。
まあリモートといってもいろいろなわけではあるけども。
0790デフォルトの名無しさん
2007/08/19(日) 22:52:28フリーなら許せたが、金とってあの程度か・・・
0791デフォルトの名無しさん
2007/08/19(日) 22:53:080792デフォルトの名無しさん
2007/08/19(日) 23:02:10音楽スレかも
0793デフォルトの名無しさん
2007/08/19(日) 23:03:010794デフォルトの名無しさん
2007/08/20(月) 02:24:29昔は速度や柔軟性を求めるならVC++
動けば良いハリボテならVBなんて言われてたけど
VC#はなんと言われるのかな?
0795デフォルトの名無しさん
2007/08/20(月) 02:30:30ナンバーとシャープって微妙に違うんだな
0796デフォルトの名無しさん
2007/08/20(月) 02:38:53読みはシャープ
その名はC#
0797デフォルトの名無しさん
2007/08/20(月) 02:42:390798デフォルトの名無しさん
2007/08/20(月) 02:53:27ちゃんと検索に引っかかりやすいようになってるw
0799デフォルトの名無しさん
2007/08/20(月) 03:53:490800デフォルトの名無しさん
2007/08/20(月) 04:53:020801デフォルトの名無しさん
2007/08/20(月) 05:13:45なにせ、コントロールすべてそれぞれが描画制御を行っているからな。
コントロールの数が多くなればなるほど、あほみたいに遅くなる。
0802デフォルトの名無しさん
2007/08/20(月) 10:02:44いいんじゃね
簡単に環境が整えられるし
すぐに目に見えるものが作れて挫折しにくそうだし
VB.NETやJavaもすぐ使えるようになるし
0803デフォルトの名無しさん
2007/08/20(月) 10:05:290804デフォルトの名無しさん
2007/08/20(月) 23:11:11そのとき、
・Aから派生させてクラスAAを作成し、そのクラスにaを追加する
・クラスBを作成しそのBの中にAのインスタンスを保持させ、さらにaを追加する
どちらのほうがいいのでしょうか?
0805デフォルトの名無しさん
2007/08/20(月) 23:16:28ケースバイケースって言って欲しいのかなw
0806デフォルトの名無しさん
2007/08/20(月) 23:19:45C#では属性っていうと具体的に別の概念を指すから注意
回答しようがないからどうでもいいところに突っ込んでみたw
0807デフォルトの名無しさん
2007/08/20(月) 23:20:272番目じゃAに追加したとはいえない気がする。
0808デフォルトの名無しさん
2007/08/20(月) 23:31:56class AA : A {
private object a = new object();
}
class B{
private A instance = new A();
private object a = new object();
}
このどっちが良いかってことだよね?
>>805が言うとおりケースバイケースだけど、
一般的に、集約で片付けれるものは集約で。
が原則〜みたいなことを本で読んだような。
しかし、aがAに密接に関連する情報ならば、
下の構造でやるのは嫌かな〜って感じ。
0809デフォルトの名無しさん
2007/08/20(月) 23:35:530810デフォルトの名無しさん
2007/08/21(火) 00:17:46親ウィンドウのActivateMdiChildプロパティを
子ウィンドウの型にキャストしようとするとビルドエラー発生
((FrmMyChildWindow)ActivateMdiChild).hoge();
0811デフォルトの名無しさん
2007/08/21(火) 00:24:460812デフォルトの名無しさん
2007/08/21(火) 08:56:04奇抜なコードを書こうと考えないほうが身のためだぞ。
人に迷惑かけるだけでなく、何時までたってもきれいなプログラミングができないから。
0813デフォルトの名無しさん
2007/08/21(火) 08:58:430814デフォルトの名無しさん
2007/08/21(火) 09:02:48というか、定義よく見ろw
0815デフォルトの名無しさん
2007/08/21(火) 09:06:55考えたんじゃないか?
0816デフォルトの名無しさん
2007/08/21(火) 09:50:31AAなりBが、「Aとして振舞いたいか?」で決める。
振舞いたいなら上、そうじゃないなら下
EffectiveC++みたいなC#の本があれば
そういうことについての指針みたいなのが書いてあると思うけど。
GUIのコンポーネントに機能を加えて、既存のコンポーネントを使いやすくしたい
なんてときは上
ファイルを開いて処理して必要なデータを読み込んで構造体に設定する
なんてときは下(これは無意識にやってるとは思うけど)
0817デフォルトの名無しさん
2007/08/21(火) 13:48:24Throwsつけさせるなりするようなコンパイルオプションとかないの?
0818デフォルトの名無しさん
2007/08/21(火) 13:51:30そういうわけでC#にはそんなもの実装されてない。
0819デフォルトの名無しさん
2007/08/21(火) 14:00:24なぜ糞かが知りたい
0820デフォルトの名無しさん
2007/08/21(火) 14:06:34* http://www.artima.com/intv/handcuffs.html
なぜC#はJavaを真似なかったか
* http://msdn2.microsoft.com/en-us/vcsharp/aa336812.aspx
0821デフォルトの名無しさん
2007/08/21(火) 14:09:25http://www-06.ibm.com/jp/developerworks/java/040618/j_j-jtp05254.html
0822デフォルトの名無しさん
2007/08/21(火) 14:19:28あとでまた読んで咀嚼する
サンクス
0823デフォルトの名無しさん
2007/08/21(火) 14:30:04これを防ぐ方法ってあるんでしょうか?
それらしいメッセージ、
WM_SIZE,
WM_WINDOWPOSCHANGING,
WM_WINDOWPOSCHANGED,
WM_EXITSIZEMOVE
などみてみたんですが期待した動きになりません・・・(´・ω・`)
0824デフォルトの名無しさん
2007/08/21(火) 16:04:490825デフォルトの名無しさん
2007/08/21(火) 23:08:09元に戻すため別プロジェクトとして保存ってできないの?
わざわざVC#閉じて、フォルダごとコピペしてんだけど面倒
0826デフォルトの名無しさん
2007/08/22(水) 00:00:23そこでVSS
0827デフォルトの名無しさん
2007/08/22(水) 11:07:44サーバ側のRead処理よりも速い速度でクライアント側でWriteされた場合に
クライアント側で
AAAAAAA
BBBBBBB
CCCCCCC
と3回に分けてWriteされたのに
サーバ側でReadするタイミングが遅いために
1回のReadで
AAAAAAABBBBBBBCCCCCCC
と全部取れてしまい3回のWriteがあった事が判断できません
(1つのデータとしてしまう)
こういう場合に、ちゃんと3回のWriteがあって
AAAAAAA
BBBBBBB
CCCCCCC
と分けて受信する方法は無いのでしょうか?
0828デフォルトの名無しさん
2007/08/22(水) 11:36:260829デフォルトの名無しさん
2007/08/22(水) 11:44:03いいえ、可変長です。
0830デフォルトの名無しさん
2007/08/22(水) 11:49:050831デフォルトの名無しさん
2007/08/22(水) 11:59:24そうですよね・・・
何らかのルール決めないとダメですよね
有難うございました。
0832デフォルトの名無しさん
2007/08/22(水) 14:12:07ご存知ないでしょうか?
MSDNライブラリの記述だけでは、どうにも使いこなせるようにはならない気が・・・。
なんか、サンプルとか沢山あったりしないですかねぇ。
0833デフォルトの名無しさん
2007/08/22(水) 14:27:20MSDNだけでは不足って、以下の箇所も役に立たないってこと?
ttp://msdn2.microsoft.com/ja-jp/library/hkasytyf(VS.80).aspx
0834デフォルトの名無しさん
2007/08/22(水) 14:51:27そうですよね、普通、これで十分な情報なのですよね、きっと。
スレッドと非同期デリゲートについて始めから勉強しなおします。
ありがとうございました。
0835デフォルトの名無しさん
2007/08/22(水) 15:05:03この手のは個人のホームページのネタになりにくいから、
GUIとかに比べて情報を探しにくいのは確か。
0836デフォルトの名無しさん
2007/08/22(水) 16:20:170837デフォルトの名無しさん
2007/08/22(水) 16:51:43ピクチャーボックスを貼ってそこに描くのとでは速さに違いとかあるですか?
0838デフォルトの名無しさん
2007/08/22(水) 16:59:470839デフォルトの名無しさん
2007/08/22(水) 16:59:49ヘルパーを使わない場合はどうするかの例があれば何をやってるかがわかりやすいのだけどね。
0840デフォルトの名無しさん
2007/08/22(水) 18:28:12貼ったピクチャーボックスに描くのはあまり意味がないだろ
ピクチャーボックスを継承して描けば、独立してどこにでも貼り付けられて便利
0841デフォルトの名無しさん
2007/08/22(水) 22:42:27>サーバ側でReadするタイミングが遅いために
ってのは誤解だよね?
0842デフォルトの名無しさん
2007/08/22(水) 22:45:06タイミングとは関係ない
0843デフォルトの名無しさん
2007/08/22(水) 23:15:460844デフォルトの名無しさん
2007/08/22(水) 23:24:17それはどんな意図で言ってるんだ?
0845デフォルトの名無しさん
2007/08/22(水) 23:25:57EventHandler(非ジェネリック)も使わずにEventHandler<EventArgs>を使うべき?
0846デフォルトの名無しさん
2007/08/22(水) 23:29:280847デフォルトの名無しさん
2007/08/23(木) 03:30:24writeで送信したデータとreadで読み込んだデータが1対1で対応する
っていう書き込みに見えたので、そうだっけ?と。
TCPはレコード境界っていうのを保存しないって思ってたもので。
違ってたらごめん。
0848デフォルトの名無しさん
2007/08/23(木) 04:13:560849デフォルトの名無しさん
2007/08/23(木) 06:51:550850デフォルトの名無しさん
2007/08/23(木) 06:57:430851デフォルトの名無しさん
2007/08/23(木) 13:07:48こういう仕様?
多分、枠がらみなんだろうけど、BorderStyle.Noneだし・・・
0852デフォルトの名無しさん
2007/08/23(木) 18:41:49理由は大体想像つくじゃん。
フォームのサイズはクライアントサイズにもろもろ(Paddingとかタイトルバーとか)
足したものとして実装されてるんでしょ。
っていうかどーでもよくないかw
0853デフォルトの名無しさん
2007/08/23(木) 21:51:380854デフォルトの名無しさん
2007/08/23(木) 21:59:440855デフォルトの名無しさん
2007/08/24(金) 09:23:550856デフォルトの名無しさん
2007/08/24(金) 11:12:56WebBrowserを継承したクラスを作って
PreProcessMessageをオーバーライドすればキーダウンを拾えるから
そっから頑張ってくれ。
public override bool PreProcessMessage(ref Message msg)
{
const int WM_KEYDOWN = 0x100;
if (msg.Msg == WM_KEYDOWN)
{
}
return base.PreProcessMessage(ref msg);
}
0857デフォルトの名無しさん
2007/08/24(金) 15:36:142)そのフォルダの中に大量のファイルを作成したり別の場所からコピーしたり中身を書き換えたりする(外部ツール等も使用)
3)終了後に Directory.Delete("tmpdir",true) する
…すると、3)で、稀に例外が発生します。
誰かがロックをかけている(フォルダを使用中)のためフォルダを削除できないそうです。
例外を catch して何度かリトライすると(数秒〜十数秒)削除できます。
おそらく、2)で誰かが悪さをしている(裏でプロセスが動いている)ようなのですが、
どのプロセスがフォルダをロックしているか調べる方法はありますか?
0858デフォルトの名無しさん
2007/08/24(金) 15:40:060859デフォルトの名無しさん
2007/08/24(金) 21:08:04一般に誰がロックしてるのか取るのは無理
タスクマネージャでIO読み取り/書き込みでも眺めるとか
0860デフォルトの名無しさん
2007/08/24(金) 21:17:35フォルダもわかるんだろうか。
0861デフォルトの名無しさん
2007/08/24(金) 21:22:320862デフォルトの名無しさん
2007/08/24(金) 21:48:29クラス内にすべて書いてしまうと、数千行のクラスだと見づらくなるりますよね
みなさんどうしています?
0863デフォルトの名無しさん
2007/08/24(金) 21:50:32ヘッダファイル関係ない
君が知ろうとしないだけ
0864デフォルトの名無しさん
2007/08/24(金) 21:57:47折りたたみとかパーシャルクラスとか
そもそもあんまり馬鹿でかくなるようならクラス分けるとか
0865デフォルトの名無しさん
2007/08/24(金) 21:57:47そのための partial
0866デフォルトの名無しさん
2007/08/24(金) 21:59:31でもXMLドキュメントだけ非表示には時々したくなる
まともに書くと長くなるからなー
0867デフォルトの名無しさん
2007/08/24(金) 22:07:10もしかして、サンプルコードを動かして満足して
あかも分かったような顔でWebで講座なんて公開してる連中なのかしらん?w
0868デフォルトの名無しさん
2007/08/24(金) 22:09:000869デフォルトの名無しさん
2007/08/24(金) 22:23:16そうとう詰め込んだ感あるクラスでも650行だな。
まあでも、WSDL から自動生成したクラスとかは1ファイルで1万行弱あったけど。
0870デフォルトの名無しさん
2007/08/24(金) 22:57:23機能をメソッドに分けない。
オブジェクト指向を理解していない。
0871デフォルトの名無しさん
2007/08/24(金) 22:59:41大規模なものだと数千行のcsファイルがいくつもあるな。
まぁ、右上のドロップダウンからメソッドを探せるので特に困ったりはしないよ。
0872デフォルトの名無しさん
2007/08/24(金) 23:02:52それおかしいから。
0873デフォルトの名無しさん
2007/08/24(金) 23:20:55親のコメントの継承がしたいだけど無理かね?皆さんはコピペでやってる?
あと、クイックインフォでsummaryタグ以外表示されないのももったいなくね?
結局コード定義ビューア使うハメになる。
>>862
ヘッダファイルはみづらいよ。せっかくクラスダイアグラムや、クラスビューなんかあるんだから、
それを使うべきでは?遅いのが難点だけど。
0874デフォルトの名無しさん
2007/08/24(金) 23:27:10まさかとは思うが、イベントハンドラに全部書くタイプ?
0875デフォルトの名無しさん
2007/08/24(金) 23:27:500876デフォルトの名無しさん
2007/08/24(金) 23:28:05これも相当便利なんだけど、継承元のシンボルまで検索してくれるのがタマにキズ。
例えば、classAを継承したToString()のみを検索したいのに、
シンボル検索したらすべてのobject.ToString()が検索されてしまう。
検索範囲を限定することってできないのでしょうか?
0877デフォルトの名無しさん
2007/08/24(金) 23:31:010878デフォルトの名無しさん
2007/08/24(金) 23:33:18> 親のコメントの継承がしたいだけど無理かね?皆さんはコピペでやってる?
include 要素ってのもあるが……
0879デフォルトの名無しさん
2007/08/24(金) 23:33:45何で唐突にインターフェイスが出てくるんだw
巨大クラスをヘッダファイルに分割する、って発想はそんなに変じゃないと思う。
「ヘッダファイル」という言葉の響きに引きずられると変に聞こえるが、
だったらアセンブラの「インクルードファイル」だと思えばいい。
0880デフォルトの名無しさん
2007/08/24(金) 23:34:39汎用性のないちょっとした処理ならイベントハンドラに直接記述するよ。
無意味にメソッド増やすだけになるからね。
デザイナ使わずにコントロール配置しているから
それだけで千行ぐらいあるな。
0881デフォルトの名無しさん
2007/08/24(金) 23:37:48それはなぜ?
0882デフォルトの名無しさん
2007/08/24(金) 23:38:19インデントがきかないから入れ子をわかりやすく表現できないのが難点だよなあ
0883デフォルトの名無しさん
2007/08/24(金) 23:38:36直接エディタをスクロールさせながら目で探したり、
キーワードで検索して見つけたりしているの?
ドロップダウンリストでメソッドへ飛んだり、
コンテキストメニューの定義へ移動・参照の検索は利用していないの?
0884デフォルトの名無しさん
2007/08/24(金) 23:38:54偏屈以外に理由があると思えんw
0885デフォルトの名無しさん
2007/08/24(金) 23:40:15レイアウトが複雑になってくると細かい設定が大変じゃない?
フォーム単位じゃなくてパネル単位でデザインできたらまだマシなんだが
0886デフォルトの名無しさん
2007/08/24(金) 23:40:54ちゃんと設計してるのか?
0887デフォルトの名無しさん
2007/08/24(金) 23:41:13またアホなこと言うなあ。
そんなの当然のように利用するだろw
そんな機能利用したって行数の多さに起因する「見通しの悪さ」の改善には
たいして寄与しないぞ
0888デフォルトの名無しさん
2007/08/24(金) 23:42:04HTMLとCSSをエディタで弄って作るような人間だから偏屈なのかもしれないw
0889デフォルトの名無しさん
2007/08/24(金) 23:43:39例えばちょっと高機能なユーザーコントロール書いてみ?
1000行2000行なんてすぐだよ。
もちろんインナークラスや外のクラスに機能を分割するなんて普通にやってもね。
0890デフォルトの名無しさん
2007/08/24(金) 23:44:49フリーで公開しているソフトってはじめから言ってるでしょw
俺しか見ないよw
0891デフォルトの名無しさん
2007/08/24(金) 23:47:040892デフォルトの名無しさん
2007/08/24(金) 23:48:11細かい設定ってなに?
0893デフォルトの名無しさん
2007/08/24(金) 23:49:44>>878
ありがとう。格好いいよ!愛してる!LOVE!
>>882
ああわかる。階層管理はしたい。ツリービューアをつけてほしいですね。
あと>>876は解決策ないっすか?皆さんも結構悩みの種になるんじゃないかと思うのだが。
grepとかで代用してんのかな?
0894デフォルトの名無しさん
2007/08/24(金) 23:49:53外部から受けるデータをインターフェイスにするべきだし、
共通機能(イベント等)は親クラスを作って継承させる。
基本APIを見ればわかる思うが。
0895デフォルトの名無しさん
2007/08/24(金) 23:51:22コントロールを動的に配置する場合の位置・サイズとか。
ガッチガチにレイアウトするなら別だけど。
0896デフォルトの名無しさん
2007/08/24(金) 23:53:190897デフォルトの名無しさん
2007/08/24(金) 23:56:040898デフォルトの名無しさん
2007/08/24(金) 23:56:320899デフォルトの名無しさん
2007/08/24(金) 23:58:11行数は2・3割変化しそうだな。
>>897
おまいがチャンピオンだw
0900デフォルトの名無しさん
2007/08/24(金) 23:59:09l が抜けてました。
ToolBarね。
0901デフォルトの名無しさん
2007/08/25(土) 00:11:42牛乳買ってこいや
0902デフォルトの名無しさん
2007/08/25(土) 00:14:070903デフォルトの名無しさん
2007/08/25(土) 00:15:060904デフォルトの名無しさん
2007/08/25(土) 00:17:36WPFとSilverLightに期待。
0905デフォルトの名無しさん
2007/08/25(土) 00:20:40Vistaだったらconimeがそのフォルダをブロックしてたりとか。
とりあえずProcessExprolereとか使えば?
0906デフォルトの名無しさん
2007/08/25(土) 00:24:41ママのミルクでも飲んどけや。 …すみません嘘ですごめんなさいパシってきます。
>>878
改めてありがとうございました。ただ、直接csファイルをincludeできないようで使いづらいみたいです。
今後の発展に期待かな。もう変態的言語仕様の増強はいいからIDEの増強きぼんぬ。
0907デフォルトの名無しさん
2007/08/25(土) 01:00:34数千行ソースなんて信じられないんだろなw
0908デフォルトの名無しさん
2007/08/25(土) 01:02:42効率よく設計して短いソースに仕上げることが出来たら本当のプロフェッショナル。
0909デフォルトの名無しさん
2007/08/25(土) 01:11:04効率が重要なのは自明のこと。
こういう奴ってzipなんかで同じバイナリの圧縮を繰りかえせば
無限大の情報も1バイトになるとか思ってそうw
0910デフォルトの名無しさん
2007/08/25(土) 01:11:48人事や総務が最強なのです。
0911デフォルトの名無しさん
2007/08/25(土) 01:20:430912デフォルトの名無しさん
2007/08/25(土) 01:25:03llinuxのソースでも読んでみなよ
まぁ、読めないだろうけどw
0913デフォルトの名無しさん
2007/08/25(土) 01:36:040914デフォルトの名無しさん
2007/08/25(土) 01:37:250915デフォルトの名無しさん
2007/08/25(土) 02:24:270916デフォルトの名無しさん
2007/08/25(土) 02:36:56スペースとか入れとけばいいんじゃね。出来なかったっけ?
#region main
#region sub
0917デフォルトの名無しさん
2007/08/25(土) 02:49:56確認してみた。
半角スペースだと縮めたときに省略されちゃうけど全角スペースだと大丈夫だったよ。
0918デフォルトの名無しさん
2007/08/25(土) 03:45:160919デフォルトの名無しさん
2007/08/25(土) 04:04:54#region class
#region Field
#region method
#region staticmethod
#region dinamicmethod
といった感じで入れ子すれば問題ない。
0920デフォルトの名無しさん
2007/08/25(土) 04:15:120921デフォルトの名無しさん
2007/08/25(土) 04:23:100922デフォルトの名無しさん
2007/08/25(土) 05:37:39ってかそういうのを視覚的にわかりやすくしたいってのが>>882じゃないの?
0923デフォルトの名無しさん
2007/08/25(土) 11:34:16sは静的"seiteki"のs
0924デフォルトの名無しさん
2007/08/25(土) 12:33:10sはセックスのs
0925デフォルトの名無しさん
2007/08/25(土) 12:37:410926デフォルトの名無しさん
2007/08/25(土) 12:48:13ソースが簡単に見えてしまう欠点はどうされています?
私の部署はまだMFCが現役です。
.NETでの開発を示唆すると、必ず
・速度が遅い。
・ソースが読めてしまう。
・大量メモリを消費
等々、ディメリットを挙げだすと枚挙に暇が無い感が多い .NET
0927デフォルトの名無しさん
2007/08/25(土) 12:56:06の一言で一同納得するだろw
速度とメモリ消費に関してはたぶん誤解。
ただWinフォームのロードは確かに遅い。
0928デフォルトの名無しさん
2007/08/25(土) 13:01:49誤解?
パソコンを使う人がすべて君みたなヲタクではないんですよ
.NETについて延々語り、遅いわけではない、メモリ食うわけではない
なんて説明は正に愚の骨頂
そう感じさせることに問題があるといっているのですよ
0929デフォルトの名無しさん
2007/08/25(土) 13:04:490930デフォルトの名無しさん
2007/08/25(土) 13:09:19メモリは誤解だが、速度はマジ遅いわ。
WinForms死ねや。
よく客が使ってくれてて文句も言ってこないが。
0931デフォルトの名無しさん
2007/08/25(土) 13:17:13MFCで開発すより、.NETで開発することのメリットはなんですか?
と問われたらどうします?
0932デフォルトの名無しさん
2007/08/25(土) 13:24:16できるはずがないと思う。
0933デフォルトの名無しさん
2007/08/25(土) 13:28:55おまえらみたく趣味=プログラミングみたいなヲタクの遊びではないよw
0934デフォルトの名無しさん
2007/08/25(土) 13:32:120935デフォルトの名無しさん
2007/08/25(土) 13:32:26職業人を気取るつもりかよw
バイトの学生クンいかの職業倫理だな
0936デフォルトの名無しさん
2007/08/25(土) 13:34:52昔COBOLやVBでやってたような下らない請負業務システムを
今はドトネトでやってんだろ
何の自慢にもなりゃしねえ
0937デフォルトの名無しさん
2007/08/25(土) 13:34:56多いのは他分野の落ちこぼれのデモシカ組だと思う。
っていうか、俺がそうだけどw
0938デフォルトの名無しさん
2007/08/25(土) 13:38:27この指摘内容だと、C/C++からJavaへの移行時に言われていた話とまったく
同じなので、Javaをキーワードにぐぐると参考になるかも。
>>928と同じようなことをJavaも言われ続けたけど、現在のシェアを見れば
Javaが圧倒的だし。
まあ、デスクトップサイドではサーバサイドとかなり条件違うってこともあるけど、
WinFormsとか。これさえ乗り切れば...
0939デフォルトの名無しさん
2007/08/25(土) 13:46:09サーバーサイドかiアプリ
ドトネトはそーすっと、Winでしか動かないのが問題になってくる
Monoとかも一応あっけどな
OS依存のVM言語なんてよく考えたらナンセンス極まりない
0940デフォルトの名無しさん
2007/08/25(土) 13:49:21もっともEclipseもUIのコアがネイティブでかなり頑張ってるのは確かだけど。
0941デフォルトの名無しさん
2007/08/25(土) 13:51:40一応の言葉で一蹴するとは。
0942デフォルトの名無しさん
2007/08/25(土) 13:53:30ごめん使ったことねぇ
Mono使うぐらいなら素直にJavaを選ぶわ
お前さん、Monoでシステム提案できるか?
0943デフォルトの名無しさん
2007/08/25(土) 13:54:11ならアセンブラで書けばいいんじゃね?
0944デフォルトの名無しさん
2007/08/25(土) 14:18:200945デフォルトの名無しさん
2007/08/25(土) 14:20:30Systemに入れるならWindowsを外してSystem.Formsとかにすればよかったのに
0946デフォルトの名無しさん
2007/08/25(土) 14:24:00http://www.gamedev.net/community/forums/topic.asp?topic_id=458531&whichpage=1
同じ疑問を持った奴が居るようだ
0947デフォルトの名無しさん
2007/08/25(土) 14:25:08システム側で動く窓のようなWindow形状のクラス群の意味で"Windows"なんだろうよ。
0948デフォルトの名無しさん
2007/08/25(土) 14:26:21大違いだが
まぁ色々問題はあらぁな
>>944
んなことはない
携帯、組込みといったジャンルに広がらなくなるし
鯖でも大分限定されてくる
C#は言語の素性的にはなかなか素晴らしいのに勿体無い
0949デフォルトの名無しさん
2007/08/25(土) 14:30:25存在しうるからでしょ。
現にwebフォームがあるじゃん
0950デフォルトの名無しさん
2007/08/25(土) 14:32:36System.Windows.Forms 名前空間には、Microsoft Windows オペレーティング システムで利用できる、豊富なユーザー インターフェイス機能を十分に活用する Windows ベースのアプリケーションを作成するためのクラスが含まれています。
まあ要するにMSがDQNっつーことでいいですか
0951デフォルトの名無しさん
2007/08/25(土) 14:33:150952デフォルトの名無しさん
2007/08/25(土) 14:33:25http://msdn2.microsoft.com/ja-jp/library/system.windows(VS.80).aspx
0953デフォルトの名無しさん
2007/08/25(土) 14:34:310954デフォルトの名無しさん
2007/08/25(土) 14:35:23>>950
次スレよろ
0955デフォルトの名無しさん
2007/08/25(土) 14:35:230956デフォルトの名無しさん
2007/08/25(土) 14:36:09.NETランタイム標準のSystem名前空間を平然とそういうモノで汚してるあたりがアホ
ECMA標準なんてただのポーズってことだよ
0957デフォルトの名無しさん
2007/08/25(土) 14:36:14System.Windows.PresentationFoundationとかMicrosoft.Wpfとかでよかったんじゃないのか
0958デフォルトの名無しさん
2007/08/25(土) 14:49:27SystemやSystem.IO等の名前空間のコード?って見る事できますか?
どんな感じに宣言してるか見たいのですが
0959デフォルトの名無しさん
2007/08/25(土) 14:50:320960デフォルトの名無しさん
2007/08/25(土) 14:52:030961デフォルトの名無しさん
2007/08/25(土) 14:54:500962958
2007/08/25(土) 15:30:45思ったより複雑で、見てはいけない物を見てしまったような気分です
なんとか理解できるように頑張りますw
0963デフォルトの名無しさん
2007/08/25(土) 15:35:590964デフォルトの名無しさん
2007/08/25(土) 17:33:410965デフォルトの名無しさん
2007/08/25(土) 17:42:14二百行超えたら分割するべき
パーシャルクラスにするかクラスを分けるか、まあなんでもいい。
一目で見渡せるかが問題だ
0966デフォルトの名無しさん
2007/08/25(土) 17:57:390967デフォルトの名無しさん
2007/08/25(土) 18:21:39MinGWにコンパイラ移したところ正常に表示されるようになった。
どうやらライブラリーのtime.hがおかしかったようだ。
こんなアホな理由で3日間悩んだ俺って・・・
0968デフォルトの名無しさん
2007/08/25(土) 18:24:590969デフォルトの名無しさん
2007/08/25(土) 19:07:490970デフォルトの名無しさん
2007/08/25(土) 19:14:470971デフォルトの名無しさん
2007/08/25(土) 19:18:58DirectXのおかげでビデオカードのパワー借りれるっていうし、
やりようによってはWinFormsよりいいんじゃないかと淡く期待してる。
0972デフォルトの名無しさん
2007/08/25(土) 19:30:30Vista以外は初回起動が絶望的だけど(二回目以降も結構)
0973デフォルトの名無しさん
2007/08/25(土) 19:59:24ただWinFormをリプレースするにはVB2008BetaのWPFエディタは工夫の余地あり。
WinFormと違ってかなり細かいところまで作りこんでもスピードがほとんど落ちないのがいい。
いまのところ、作りこみたい人向きだと思う。
0974デフォルトの名無しさん
2007/08/25(土) 20:55:160975デフォルトの名無しさん
2007/08/25(土) 21:16:390976デフォルトの名無しさん
2007/08/25(土) 21:32:55まあ、速度はともかくとして、製作は楽でしょうか?
描写速度とか美しいビジュアルよりも、開発時間が短いことのほうが重要だったりする。
WinFormsよりかかかるんなら、悩みません?
0977デフォルトの名無しさん
2007/08/25(土) 21:36:320978デフォルトの名無しさん
2007/08/25(土) 21:38:00発想はJavaのlightweight componentと同じで、描画をD3Dでやっちょるって
理解でいい?
そこまでやって遅いってのも何か空しいものがあるな
0979デフォルトの名無しさん
2007/08/25(土) 21:46:02GUIでらくらく開発というのからは程遠い職人の世界。
表示はすぐに反映されるからいいけど、XAMLPADで作るのと違いが感じられん。
VS2008のIDEの作成チームは苦労してそう。
2007が2008になったのは正直この部分が遅れてるからだと思われる。
0980デフォルトの名無しさん
2007/08/25(土) 22:45:42Windows アプリっぽくて使いやすい
WPF だと Web アプリみたいな操作性でなんかいまいち
0981デフォルトの名無しさん
2007/08/26(日) 00:25:370982デフォルトの名無しさん
2007/08/26(日) 00:32:450983デフォルトの名無しさん
2007/08/26(日) 00:57:430984デフォルトの名無しさん
2007/08/26(日) 01:13:180985デフォルトの名無しさん
2007/08/26(日) 01:14:350986デフォルトの名無しさん
2007/08/26(日) 01:16:320987デフォルトの名無しさん
2007/08/26(日) 02:04:410988デフォルトの名無しさん
2007/08/26(日) 02:19:260989デフォルトの名無しさん
2007/08/26(日) 02:36:370990デフォルトの名無しさん
2007/08/26(日) 03:00:15というかデバッグやろうとすると、Don'tなんちゃら〜とかいう警告がでてきて
その後、バイナリに上書き(ビルド)できなくなる。
0991デフォルトの名無しさん
2007/08/26(日) 07:54:55しかもシステムの設定でアンチエイリアス切っても無視するという・・・
0992デフォルトの名無しさん
2007/08/26(日) 11:44:25一回もないけど?
OS再インストール推奨。
0993デフォルトの名無しさん
2007/08/26(日) 11:47:540994デフォルトの名無しさん
2007/08/26(日) 11:54:29プレゼンテーション層を独立してプログラミングするための技術。
0995デフォルトの名無しさん
2007/08/26(日) 12:00:49日曜PGだから、プレゼンテーション層を独立してプログラミングしたことないや。
したことある人は挙手!
0996デフォルトの名無しさん
2007/08/26(日) 12:04:560997デフォルトの名無しさん
2007/08/26(日) 12:06:50分離しようってだけの自然な流れ
0998デフォルトの名無しさん
2007/08/26(日) 12:12:46え?
本気で言ってるのかな
0999デフォルトの名無しさん
2007/08/26(日) 12:19:32反論があればどうぞ
1000デフォルトの名無しさん
2007/08/26(日) 12:27:1310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。