07/09/09 15:01:13
いっそDataSet/DataTableを使ったらどうだ。
522:デフォルトの名無しさん
07/09/09 15:01:30
ふらっと逝け
523:デフォルトの名無しさん
07/09/09 15:22:45
>>519
「メソッドだけで」とか難しいこと考えずに
全部書くか自分でメソッド作ることをおすすめする。
どうせList<T>使えるようになったら組み直しなんだし。
難しいことやるのは慣れてからでいいよ。
524:512
07/09/09 16:11:52
ありがとうございます。
525:デフォルトの名無しさん
07/09/10 02:22:48
DataGridViewでコントロール+Cを押したときのクリップボードに
値を渡すのを防ぎたいんですがどうすればいいでしょう?
526:デフォルトの名無しさん
07/09/10 02:24:53
clipboardcopymode = Disable
でできました。。どうもです。
527:デフォルトの名無しさん
07/09/10 03:46:34
SDJEditorを使ってみた
やはり、.NETではこの程度が限界か?
528:デフォルトの名無しさん
07/09/10 06:36:45
>>503
すみません
この発言読み飛ばしてました。
静的にすればアセンブリ参照で呼べるというのを解釈すると
new をしないようなstaticなメソッドにしてDLLとして作成。
呼び出し元プログラム側で、参照の設定をしてあげるという
のでしょうか?
この静的にするということは、タイプセーフではないという
ことになりますか?今回ASP.NETで作成したいのですが。。
>>509
IronPaython
は動的言語ということで私も考えたのですが
具体的にどうすればよいのかが浮かびませんでした。
それにC#から呼び出したいのでオーバヘッドが発生する気がします。
529:デフォルトの名無しさん
07/09/10 08:55:33
組み込みスクリプト感覚で使うつもり?
それ危なくない?
530:デフォルトの名無しさん
07/09/10 12:46:34
> 静的にするということは、タイプセーフではないということになりますか?
なんで?
> C#から呼び出したいのでオーバヘッドが発生する気がします。
eval とか言ってるのにオーバーヘッドw
まあ全体に ASP.NET でやるには怖すぎる処理だわな
531:デフォルトの名無しさん
07/09/10 13:01:49
限定された構文でよかったら自分でインタープリタを作る手もあるし、
その手のライブラリもあるだろう。
evalと同等とかC#の関数で出来ることを全部やりたいなら、
CodeDOMやらそれなりに危険なことをしないと無理。
話はそれるがC#3.0のExpression<Func<>>の仕組みをつかって、
eval的なことが出来そうな気がする。
いまのところDLinq用だが、どう見てもLispのクォートを狙ってるとしか思えない。
532:デフォルトの名無しさん
07/09/10 18:43:40
>>531
本題とはずれるけど、C# 3.0 のラムダ式の話、
C# 3.0 は F# からいろいろ輸入したって話らしいから、
F# の(大元をたどればもちろん LISP の) quote 由来だろうね。
LISP だと、データとプログラムを区別しないってのを、
.NET Framework だと、ラムダ式を
デリゲートに代入したときはプログラムとして、
Expression 型に代入したときはデータとして扱う
というコンセプトみたい。
533:デフォルトの名無しさん
07/09/10 18:49:29
>>532
DLRも見てみると面白いよ。
ASTからILへの汎用変換エンジンになりつある。
CodeDOMは死相が出ちゃったけど
DLRはRubyとPythonという目標がある以上、
ある程度のところまで作り込むんじゃないかな。
ちなみにExpression Treeの裏話。
URLリンク(d.hatena.ne.jp)
ま た D o n B o x か !
534:デフォルトの名無しさん
07/09/10 23:55:38
すんません。
HTML中で16進形式(5桁:ex."𠮟")で指定されたサロゲートペア文字を
正しく変換する楽な方法ってないですか?
HttpUtility.HtmlDecodeだと、下位4桁までしか認識しないようで、困っております。
string s = HttpUtility.HtmlDecode("𠮟");
foreach (char c in s)
Console.WriteLine(string.Format("{0:X4}",(int)c));
--出力(こんな値が入ってて欲しい)--
D842
DF9F
--出力(でもこうなっちゃってる orz)--
0B9F
535:デフォルトの名無しさん
07/09/11 00:07:19
正規表現使えば
536:デフォルトの名無しさん
07/09/11 00:19:54
ども。"&amp;"とかも"&"として取得したいんで、
できればメソッド一発でできたらなぁ、と思ったんですが、
やっぱそこだけ別に処理するしかないスかね。
537:デフォルトの名無しさん
07/09/11 00:29:04
数値文字参照だけ置換してあとはHttpUtilityに任せる
というのをひとつのメソッドにすればメソッド一発だよ
538:デフォルトの名無しさん
07/09/11 00:54:18
気になったのでざっと調べた感じ、HTML4.01の扱える文字集合はISO/IEC 10646-1らしい。
いわゆるUCS-4なんだが、-1はBMPしか扱わないそうな。-2がそれ以外の文字。
539:デフォルトの名無しさん
07/09/11 01:32:11
BitmapオブジェクトがDispose()されたことをBitmapオブジェクトの外部から知ることはできるでしょうか。
ローカルメモリオブジェクト内のDIBをもとに作成したBitmapオブジェクトが破棄されるまではローカルメモリオブジェクトを解放せずにおき、Bitmapオブジェクトが破棄された段階でローカルメモリオブジェクトを解放するようにしたいのです。
DIBをマネージメモリにコピーしてからImage.FromStream()でImageオブジェクトを生成し、すぐさまローカルメモリオブジェクトを解放する、という方法なら安全確実なのですが、いかんせん遅いのです。
540:デフォルトの名無しさん
07/09/11 05:44:01
>>503
>まあやっぱりJScript.NETのevalだな
>myMethodは静的にすれば元アセンブリ参照で呼べるだろ
やってみたけど無理でしたよ!
やっぱりできないのでは?
DLL側に
public class MultiplyClass
{
public static long Multiply(long x, long y)
{
return (x * y);
}
}
としてコンパイル、それを呼び出し側で参照の追加。
string exp = "MultiplyClass.Multiply(10, 5)";
Microsoft.JScript.Vsa.VsaEngine ve =
Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
long result =
(long)Microsoft.JScript.Eval.JScriptEvaluate(
exp, ve);
そうすると
変数 'MultiplyClass' が宣言されていません。
結局、作成したクラスはスコープの範囲外でした。
541:デフォルトの名無しさん
07/09/11 07:22:54
>>538
なるほど。HttpUtility.HtmlDecodeのバグというわけではないわけですね。
わざわざありがとうございます。