我一直在研究城堡项目,特别是温莎.我对这项技术的可能性印象深刻,拥有这种松散耦合系统的好处显而易见.我唯一不确定的是,如果使用这种方法有任何缺点,特别是在asp.net?例如性能命中等
我试图让这个方法的好处在这里对我的开发人员可见,并且受到以下回击的打击:
这是使用反射,每次从容器调用一个对象时,必须使用反射,因此性能会很糟糕.(这是这种情况吗?它是否在每次通话时使用反射?)
如果我依赖于接口; 如何处理具有已添加到类中的额外方法和属性的对象?(通过继承)
.net asp.net dependency-injection castle-windsor inversion-of-control
我目前正在尝试使用ItemsControl将一组对象绑定到Silverlight 3中的Canvas,如下所示:
<ItemsControl x:Name="ctrl" ItemsSource="{Binding myObjectsCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas></Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Stroke="LightGray" Fill="Black" StrokeThickness="2"
RadiusX="15" RadiusY="15" Canvas.Left="{Binding XAxis}"
Height="25" Width="25">
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎Canvas.Left上的绑定被忽略了.根据我在这里学到的东西,这似乎是由于项目被放置在内容展示器内而不是我在项目面板中指定的实际画布.
有没有办法可以使用数据绑定来确定画布上元素的位置?
我很确定有一个预先构建的转换器,用于将字节数组绑定到UIImageView,但我找不到它.
有人能指出我正确的方向吗?
我正在尝试使用SubSonic来确定它是否适用于生产项目.我似乎偶然发现了一个问题,即在创建新列时使用默认值(String和DateTime)更新数据库.
如果将DateTime或String的新属性添加到对象.
public class Bug
{
public int BugId { get; set; }
public string Title { get; set; }
public string Overview { get; set; }
public DateTime TrackedDate { get; set; }
public DateTime RemovedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当运行将该类型的对象添加到数据库的代码时
var repository = new SimpleRepository(SimpleRepositoryOptions.RunMigrations);
repository.Add(new Bug()
{
Title = "A Bug",
Overview = "An Overview",
TrackedDate = DateTime.Now
});
Run Code Online (Sandbox Code Playgroud)
它创建以下sql:
UPDATE Bugs SET RemovedDate=''01/01/1900 00:00:00''
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它在字符串或DateTime的每一端添加双2单引号.
这导致以下错误:
System.Data.SqlClient.SqlException - '01'附近的语法不正确
我正在连接到SQL Server 2005
任何帮助都会被认为是除了这个问题之外我发现SubSonic是一个很棒的产品.
我在这里 …
c# ×3
.net ×1
asp.net ×1
asp.net-mvc ×1
data-binding ×1
ios ×1
mvvmcross ×1
subsonic ×1
subsonic3 ×1