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


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

C#, C♯, C#相談室 Part55



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

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

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

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

77 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:41:42 ]
言語の進歩はいまいちかもしれないが
フレームワーク側の進歩が2.0の時以上な気がする

78 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:42:24 ]
>>74
/** */ に対応したのは 1.1 ではなく 1.2 だよ

79 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 01:27:18 ]
.NET 4はライブラリの方よね、主な変更。
3.0 のときと同じ感覚。C# 4.0はおまけ。

80 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 08:54:04 ]
正直LINQの意義がわからんorz

81 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 09:14:16 ]
3行かかってたデータ処理が1行ですむ
こんだけ。

82 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 09:15:56 ]
>>80
コレクション操作がらみをライブラリ化しようとすると行きつく先は LINQ。

クエリ式(C# 中に SQL っぽいもの書ける構文)を LINQ だと思ってるならそれは勘違い。
あれは LINQ の一部分。

83 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 09:34:45 ]
LINQの記法が特殊だからな。
実は追加された拡張メソッド部分が本体だよな。

84 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 12:09:27 ]
メソッド構文でしかLinq使った事ない

85 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:19:02 ]
リモート処理のセキュリティについて質問させてください。
IPCチャネルを使って同じコンピュータ上でサーバーとクライアントを動かしたいのですが、
それぞれの通信相手が正規のプログラムであることを認証するには
どのような方法を取ればいいのでしょうか。
悪意のあるプログラムが通信相手に成り済ますのを防ぎたいと考えてます。



86 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:22:06 ]
厳密には不可能。

カジュアルななりすましを防ぎたいなら、何らかの手順を挟めばいい。
それこそ、「山」「川」みたいな。

87 名前:85 mailto:sage [2009/12/16(水) 13:28:51 ]
>>86
なるほど。
大げさかもしれませんが、プログラムに対するデジタル署名を
使ってもできますか?

88 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:35:54 ]
コードサイニング証明で確認できるのは、ファイルがある組織で作られた、
ということ。なので、そのファイルを確認できる状態じゃないとダメ。

なので、通信先を証明するのにはちょっと厳しいでしょ。

89 名前:85 mailto:sage [2009/12/16(水) 13:42:28 ]
>>88
サーバーとクライアントプログラムは同じコンピュータ上に
存在することを前提にしているのでファイルの確認は可能だと思います。

90 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:43:00 ]
であれば大丈夫だね。

IPCってのを忘れてた。ごめんごめん。

91 名前:85 mailto:sage [2009/12/16(水) 13:46:22 ]
>>90
いえいえ。
とりあえず>>86のように何らかの手順で作ってみることにします。
ありがとうございました。

92 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:48:08 ]
通信系路上の改ざんがないという前提ならいろいろできそうな気がする。


93 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:50:38 ]
ゼロ知識証明、だっけ?
チャレンジレスポンスでやったらいいんじゃない?

基本的な手順は、

あらかじめ、秘密の文字列 k を決めておき、クライアントとサーバはそれを
知っている。外には漏らさない。

通信を開始する時に、ランダムでトークン文字列 s を決め、それを渡す。
s をもらったら k と連結しハッシュ関数にかけた値 h(k + s) を返す。

返ってきた値が、自分で計算した h(k + s) と同じかどうかを確認する。
同じなら相手は k を知ってるので正しい相手と認める。

詳しくは暗号の本を。
ていうかこういうのは正しく実装するのは難しいので。ライブラリ無いのかな?

94 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:56:31 ]
あーこれだとリプレイ攻撃を防げないか。
まぁとにかくそんな感じの方法。

95 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 14:34:12 ]
>>85
一般的な結論は>>86なんだが、限定状況下では有効な対処が可能な場合もある
ユーザーがプログラム(バイナリ)の読み取りや通信路への細工ができないよう厳重に管理されていれば、
実用的なレベルでの対処は可能
それ以外の状況なら何をしても程度問題(しかも分が悪い)でしかない

>>93
それはホストやユーザーの認証の場合で、今回のクライアント(プログラム)が正規のものかを
判定する用途には使えない



96 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 17:26:21 ]
そもそも秘密の文字列を組み込むってこと自体に無理があるからね。


97 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 01:56:21 ]
>>64
ラムダ式が先に実装されていれば匿名メソッドはいらなかったとMSが言っていたはずよ
つまり、delegate{〜}はobsolute扱いで。

98 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 04:29:11 ]
匿名デリゲートは引数自体を省略できる
ラムダ式は() =>
って絶対つけないとダメだからちょっとかっこ悪い。

99 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 08:05:38 ]
だがそれがいい

100 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 09:37:12 ]
その代わり引数の型は省略できない

101 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 12:18:50 ]
delegate { なんかいかにもキーワード増やしたくなくて無理矢理当てた
感じで格好悪い
後で捨てることを前提に作られたように見える

102 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:00:11 ]
なんで?

103 名前:デフォルトの名無しさん [2009/12/17(木) 13:29:55 ]
C#でMarchingCubeアルゴリズムを実装したいのですが、やり方がわかりません。
関連サイトなどもC++やGLを使っているのでどうしたらいいかわかりません。
どなたか教えてくれませんか?

104 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 13:46:41 ]
C++やGL使ってるっつったってそっからC#に翻訳すればいいだけだと思うんだが・・・

105 名前:デフォルトの名無しさん [2009/12/17(木) 14:09:26 ]
>>104
そのやり方がわからなくて困ってます



106 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 14:25:11 ]
自力でやるんだよ、ばか。

107 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 19:06:48 ]
>>105
そんなレベルでなんでC#に移植する必要があるんだよ

108 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 20:28:13 ]
同意
C++での実装コードが理解できないなら,このスレの誰かがC#で書いてくれたとしても理解できるとは思えない

109 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 21:34:43 ]
死んだのに仕事してるとか俺には信じられん

110 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 21:35:23 ]
誤爆すまん

111 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 21:36:51 ]
死んだような顔して仕事してるやつはこの業界では珍しくないよな・・・
うぅ・・・

112 名前:デフォルトの名無しさん [2009/12/18(金) 02:38:37 ]
WaitHandle の WaitAll や WaitAny で待ち合わせをするのですが
散乱すると面倒くさいので WaitAll/WaitAny 相当の待ちのシグナルが発生するWaitHandleを作ろうかと思っているのでずか
これってライブラリにそもそもなかったりしませんでしょうか?
探しているのですが、誰か知っていたら教えてください

113 名前:デフォルトの名無しさん [2009/12/18(金) 04:10:16 ]
矢沢 久雄著 標準C#入門 の無印と改訂第2版って何が変わったんですか?

114 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 04:34:08 ]
C++の
#using <System.Windows.Forms.dll>
はC#の参照設定→System(略)
とまったく同じ機能ですか?

115 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 07:10:45 ]
>>114
同じ。
ちなみに、C++/CLIでもC#同様VSのプロジェクトのプロパティから設定することも可能。



116 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 12:40:24 ]
そうなんだ。
dllの管理は直接コードに書き込めるC++/CLIのほうが便利だな
C#もコードに書き込めればいいのにな。

117 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 12:52:38 ]
MSBuild使え
プロジェクト構成によって参照するdllを変えたりできる

118 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 19:11:50 ]
フリーで3Dチャートが簡単に描画出来るClassってないですか?

119 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 20:51:48 ]
Microsoft Chart Controls for Microsoft .NET Framework 3.5

120 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 23:53:52 ]
>>119
ざっと調べたんですがこれはwinアプリケーションでは作成できないのですかね?

121 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 23:58:33 ]
> Microsoft Chart Controls for Microsoft .NET Framework 3.5 は、
> ASP.NET および Windows Forms Chart Controls を含む新しいアセンブリをインストールします。

122 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 09:39:00 ]
>>120
Samples Environment for Microsoft Chart Controls
code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591
に Windows Forms Samples がある。

123 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 09:56:13 ]
なんて名前なのかわからないんだけど、Mac OS X のDockとか、iPodのカバーフローみたく
マウスカーソルの付近の画像が拡大されて表示されるコントロールとかってない?

やりたいこと
画像を横に並べて表示したいんだけど、視認性が確保できる画像サイズだとあまり多くの画像が一度に表示できないのをなんとかしたい。

124 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 10:10:44 ]
意味がわからん・・・アクセサリの拡大鏡?

ペイントの縮小ウィンドウみたいなやつなら自作するしか無いだろう。
単にビットマップをDrawImageするだけだし、そんな簡単なものコントロール化
する奴は物好きと思われる。

125 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 10:30:23 ]
>>124
何か勘違いしてるだろ。
別にコントロールがあったとしてもおかしくはない。
ただし、WPFだったらほんと簡単にできたはず。
ってかよく見るだろ。
WindowsFormsではあまり向かないというか汎用化はしにくい。




126 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 10:33:01 ]
>>124
ttp://www.youtube.com/watch?v=anrNnk3Wwmg これの0:27くらいみたいからなイメージ
拡大鏡って言われるとそうな気がする。
確かになんかテキトウにPanelの上にPictureBoxガシガシ置いてMouseHoverかなんかででっかくするだけでいいような気がしてきた…

127 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 10:34:42 ]
>>125
mjd 実現できればなんでもいいわ
WPFって聞いたことしかないからちょっと調べてみるよ!

128 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 10:35:06 ]
WPFならC#のコードは書かずに実現できるな

129 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 11:52:03 ]
>>125
さーせんなんか良い検索ワード教えてください…

みんな普通にWPFとC#組み合わせての開発とかできてんのかね?難しゲーだ

130 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:01:58 ]
wpfdock.codeplex.com/

131 名前:デフォルトの名無しさん [2009/12/19(土) 12:13:42 ]
C#で作ったライブラリDLLを動的に読み込んで
このDLLで発生するイベントを拾う方法教えてください

DLLで定義されているメソッドを実行するところまでは出来たのですが
イベントを動的に関連付ける方法がわかりません


132 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:21:16 ]
>>130
あなたが神か
Codeplexで探せばよかったのかー ありがとー

133 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:39:46 ]
>>131
やったことは無いけど、eventのアクセサの
add_EventName(Delegate) などを使うのではないかな。



134 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 12:44:58 ]
.NET 4/C# 4.0 待って MEF 使うとか、dynamic 使うとか。


135 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 13:04:19 ]
C#やVB以外ではadd_xxx以外の名前が付くこともあるので
Type::GetEvent
EventInfo::GetAddMethod
の順で取得したほうが良い。



136 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 14:20:19 ]
急にもりあがってきた

137 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 14:50:34 ]
インスタンスメンバを表すのに::はあんまり使わないだろ

138 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 17:26:44 ]
EventInfoから直にハンドラ追加できるだろ

139 名前:131 [2009/12/19(土) 21:57:14 ]
>133
>135
>138

ありがとうございます。

EventInfoのAddHandler辺りを上手いこと使えば
出来そうな予感はしているのですが
いまいちよくわかりません。

MethodInfoも有り、ますます混乱してます。

140 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 22:00:37 ]
プラグインみたいなことをしたいならinterface用のDLLを
準備しておくのがセオリーだな。
インターフェイスにキャストしたあとは普通に使えるので便利。

141 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 22:27:42 ]
// csc /o /t:library test1a.cs
using System;
public class Foo {
 public event EventHandler Do;
 public void Fire() {
  EventHandler eh = Do;
  if (eh != null) eh(this, EventArgs.Empty);
 }
}

142 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 22:29:56 ]
// csc /o test1.cs
using System;
using System.Reflection;
public class Program {
 static void Main() {
  Type fooType = Assembly.LoadFrom("test1a.dll").GetType("Foo");
  object foo = Activator.CreateInstance(fooType);
  EventInfo einfo = fooType.GetEvent("Do");
  MethodInfo minfo = fooType.GetMethod("Fire");
  einfo.AddEventHandler(foo, new EventHandler(MyHandler));
  minfo.Invoke(foo, null);
 }
 static void MyHandler(object sender, EventArgs e) {
   Console.WriteLine("WTF !");
 }
}


143 名前:デフォルトの名無しさん [2009/12/20(日) 10:31:03 ]
質問です。
C#で、基本文法を学習した後に読む本、
例えばCのプログラミング作法、C++のEffectiveC#やCording Standards、に該当するような
コーディングのスタイルスタンダードや、べからず集、などで勉強になる良書でお勧めがあったら教えてください。
よろしくお願いしますm(_ _)m

144 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:34:10 ]
すいません3行目は
C++のEffectiveC++の間違いです

145 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:36:33 ]
本ばかり読んでないでMikuMikuDanceを作れ



146 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 11:15:41 ]
>>143
Effective C#は 最近翻訳版が出たんじゃなかったかな?
中まだ見てないけど。

147 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 14:42:46 ]
シーシャプー

148 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 15:09:35 ]
>>141,142
デリゲートもDLLで定義されている場合はもう少しめんどくさくなる。
-- test1a.cs
 :
public delegate void FooHandler(object sender, EventArgs e);
public class Foo {
 :
-- test1.cs
  Type fooType = asm.GetType("Foo");
  Type fooHandlerType = asm.GetType("FooHandler");
  object foo = Activator.CreateInstance(fooType);
  Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), "MyHandler");
  EventInfo einfo = fooType.GetEvent("Do");
  MethodInfo minfo = fooType.GetMethod("Fire");
  einfo.AddEventHandler(foo, fooHandler);
  minfo.Invoke(foo, null);

MyHandlerがインスタンスメソッドの場合はthisが必要になる。
Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), this, "MyHandler");


149 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:21:02 ]
>>146
出たな
なぜかMore〜の方が先に出たw

150 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:57:07 ]
なんで翻訳のほうが原書より安いんだ?

151 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:40:05 ]
結局原書を読むはめになるから

152 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 11:20:12 ]
MSの機械翻訳は暗号化

153 名前:デフォルトの名無しさん [2009/12/22(火) 11:19:34 ]
ムズカシス

154 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 13:06:00 ]
ムズクロスグリ

155 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 13:22:25 ]
ある何が



156 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 13:35:10 ]
すべて中国の陰謀

157 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 17:43:52 ]
ぐりクロスぐら

158 名前:131 mailto:sage [2009/12/22(火) 22:46:10 ]
>140

それは意味無いですね


>141
>142
>148

皆様ありがとうございます。
試して後日結果を書きますね。


159 名前:デフォルトの名無しさん [2009/12/23(水) 18:01:19 ]
飯だ
うっほうっほ!

160 名前:デフォルトの名無しさん [2009/12/24(木) 00:11:45 ]
プログラマーとしてC♯の仕事に就くには、
デリゲートや
オーナードローや
オーバーライドの意味は絶対に知っておかなきゃ話にならないですか?

161 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:14:46 ]
言語仕様なんか全部完全に理解して人に説明できるくらいで当たり前
それではじめてスタートライン

162 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:24:40 ]
時や場所をわきまえるのが第一歩だな
つ マ板

163 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:24:40 ]
んなわけない
そんな奴がいたとしたら年収数千万クラスだわ
本もたくさん書いてることだろう
国内の本みれば国内のエンジニアのレベルがわかるでしょ

164 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:27:24 ]
C#の言語仕様って.Netの関数も入らないとどうしようもないわけだから…
絶対無理だね

165 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:32:38 ]
言語の勉強しない奴って何なんだろう
もうほんのちょっとだけ勉強すれば世界がかわるのに



166 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 00:52:56 ]
effectiveC#のデータバインドの項が良く解らないんです。つか使ったこと無いんです。
もうすこしサンプル読んで見たいのですが、お勧めのサンプルコードありませんか?

167 名前:デフォルトの名無しさん [2009/12/24(木) 01:11:50 ]
デリゲートとか、プロのうちの父ちゃんに聞いても知らなかったぞ。
ちなみに父ちゃんは、コボラーから独学でCを身に付けて開業し、今は月収100万くらい。

168 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:14:23 ]
畑違い

169 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 01:40:00 ]
>>167
新技術の学習をやめてる時点で先が無い

170 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 02:29:23 ]
C++には継承と似たものに
デリゲーション(委譲)ってのがあるが
それも知らないんだろうか。

まぁオブジェクト指向なんてすでに関数型使いこなせるヒトには大して重要じゃないし。

171 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 04:35:04 ]
>>163
それプログラマとしてじゃないよね?

172 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:26:17 ]
>>167
Cプログラマなら、関数ポインタの使い方を知っていれば、デリゲートの概念は知ってるのでOK。

173 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:18:06 ]
>>171
話しかけないでくれ

174 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:33:27 ]
デリゲートの使い道がわかりません。

175 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:39:13 ]
デリゲートと関数ポインタは機能として似た部分あるが概念はまったく違うものなのでおkではない



176 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:46:44 ]
>>175
そっか? Cの関数ポインタ型の抽象化といっていいんじゃないか。実装は、全然違うけど。

177 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:10:05 ]
どっちかというと,デザインパターンで多用されるような
メソッドを無理やりオブジェクトのように扱うための手法を
言語に取り込んで関数ポインタっぽくしたものだな






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

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

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