7 posts tagged “.net”
SharpDevelop 3.0 Beta 1でF#がサポートされた。F# Interactiveがついてる。
IronPythonのサポートは、Alphaの時から追加されてたけど、F#までサポートするとは。素晴らしい。
XAMLを極力使わないで、IronPython側で組み立てようと思ったら、
マネージドコードでは、DependencyObjectのNameはつけられない(作るときも、後からも)、
Durationとかは値が設定できないし、どうにもならないことを知った。
Nameがつけられないのは、そいつへのアクセス方法を、名前で探す以外の方法でやればいいから、まあいいとして、
作れないオブジェクトがあるのは、どうにもならないな。XamlReader.Loadでがんばるしかないのかな。
カスタムコントロールは、まだIronPythonでの作り方がよくわからない。
まあ、これ自分自身のXAMLは必要みたいだけど。
おわった。
今日の収穫
- ag = 銀
Windowsのfiberの話は、おもしろかった。
Windowsのfiberを、複数のスレッドをまたいで動かそうとすると、やばいことが多いよという話。
moonlightはXAMLとかが結構動かせていて、期待できるかもと感じたが、
今のところSliverlightのやつをそのままではなくて、portingしているものもあるらしい。
そのままどっちでも動かせるようになったら、何か作ってみようかな。
(着いたときから、ちょっと眠かったので、なんか誤解してるかも)
Python Workship the Edge 2007に行く人が、すぐ近くに二人いて、ちょっと驚いた。
まあ、IronPythonがあるから、それなりに関連はあると思うけど。
IronPythonでDnDをbooでまねしてみる。
さすがにあんまり変わらんかな。
namespace DnD
import System
import System.Collections
import System.Drawing
import System.Windows.Forms
import System.Windows.Forms.DragDropEffects
import System.Windows.Forms.DataFormatsclass MainForm(System.Windows.Forms.Form):
def constructor():
InitializeComponent()private components as System.ComponentModel.IContainer = null
protected override def Dispose(disposing as bool):
if disposing:
if components is not null:
components.Dispose()
super(disposing)
def InitializeComponent():
self.listBox1 = System.Windows.Forms.ListBox()
self.SuspendLayout()
#
# listBox1
#
self.listBox1.AllowDrop = true
self.listBox1.Dock = System.Windows.Forms.DockStyle.Fill
self.listBox1.FormattingEnabled = true
self.listBox1.ItemHeight = 12
self.listBox1.Location = System.Drawing.Point(0, 0)
self.listBox1.Name = "listBox1"
self.listBox1.Size = System.Drawing.Size(292, 268)
self.listBox1.TabIndex = 0
self.listBox1.DragEnter += self.ListBox1DragEnter as System.Windows.Forms.DragEventHandler
self.listBox1.DragDrop += self.ListBox1DragDrop as System.Windows.Forms.DragEventHandler
#
# MainForm
#
self.AutoScaleDimensions = System.Drawing.SizeF(6, 12)
self.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
self.ClientSize = System.Drawing.Size(292, 271)
self.Controls.Add(self.listBox1)
self.Name = "MainForm"
self.Text = "MainForm"
self.ResumeLayout(false)private listBox1 as System.Windows.Forms.ListBox
private def ListBox1DragEnter(sender as object, e as System.Windows.Forms.DragEventArgs):
if e.Data.GetDataPresent(System.Windows.Forms.DataFormats.FileDrop):
e.Effect = DragDropEffects.All
else:
e.Effect = DragDropEffects.None
private def ListBox1DragDrop(sender as object, e as System.Windows.Forms.DragEventArgs):
data = e.Data.GetData(DataFormats.FileDrop, false) as (string)
for s in data:
print self.listBox1.Items.Add(s)[STAThread]
def Main(argv as (string)):
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(false)
Application.Run(MainForm())
いつの間にかBoo-0.7.7がでてた。
IronPyton 2.0 alpha1がリリースされていた。
DLR(common dynamic language runtime)をつかうようになったらしい。
Microsoft.Scripting.dllとかが入ってるから、これかな?
Python2.5対応よりこっちが気になる。
IronPython 1.1が出てた。でも、いじってる暇がないよ。