小编Gra*_*ton的帖子

如何安装Ruby ri文档?

我最近在Windows 7上安装了Ruby 1.9.1,显然它没有附带标准的ri文档.所以,当我做'ri Array'时,我得到:

C:\>ri Array

Nothing known about Array
Run Code Online (Sandbox Code Playgroud)

有没有办法安装这个文档,以便上述工作?

ruby

22
推荐指数
6
解决办法
2万
查看次数

是否应该在CSS中定义所有表现形象?

我最近一直在学习(X)HTML和CSS,其中一个主要原则是HTML用于结构和CSS用于表示.

考虑到这一点,在我看来,大多数网站上的相当数量的图像仅用于呈现,因此应该在CSS中(使用div或span来将它们保存在HTML中) - 例如徽标,标题图像,背景.

然而,虽然我的书中的示例在CSS中放置了一些图像,但它们仍然经常出现在HTML中.(我只是在谈论'表现'图像,而不是'结构'图像,它们是内容的关键部分,例如照片网站中的照片).

所有这些图像都应该在CSS中吗?或者是否有技术或逻辑上的理由将它们保留在HTML中?

谢谢,格兰特

html css

11
推荐指数
1
解决办法
305
查看次数

有没有办法在Visual Studio中重新启动FSI?

我正在学习F#,并且不小心写了无限递归函数.

当我通过Visual Studio(2010或2012)在F#Interactive(FSI)中调用它们时,除了重新启动Visual Studio之外,我找不到离开它的方法.还有其他 - 理想情况下更快 - 出路吗?

f# visual-studio fsi

11
推荐指数
1
解决办法
1613
查看次数

WPF:设置UserControl的DataContext,绑定不在XAML中

我正在尝试让我的第一个WPF应用程序使用MVVM,我遇到了一个小小的绑定问题.

设置是我有一个视图&viewModel,它保存用户详细信息(父级),并尝试保持简单,我将该视图的一部分放入一个单独的视图和viewModel(子).子视图定义为UserControl.

我遇到的问题是如何设置子视图的DataContext(UserControl).我的父ViewModel有一个公开子ViewModel的属性,如下所示:

class ParentViewModel: INotifyPropertyChanged
{
    public ChildViewModel childViewModel { get; set; }
    //...
}
Run Code Online (Sandbox Code Playgroud)

在我的父视图的XAML中(将其DataContext设置为ParentViewModel),我尝试设置子视图的DataContext,如下所示:

<views:ChildView 
    x:Name="ChildView"
    DataContext="{Binding childViewModel}"/>
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.子视图的DataContext设置为与父视图(即ParentViewModel)相同的DataContext,就像我根本没有设置它一样.我也尝试在子视图本身设置DataContext,这也不起作用:

<UserControl x:Class="DietRecorder.Client.View.ChildView"
    DataContext="childViewModel"
Run Code Online (Sandbox Code Playgroud)

我找到了几种解决方法.在子视图中,我可以通过在路径中包含ChildViewModel来绑定所有内容:

<SomeControl Visibility="{Binding Path=childViewModel.IsVisible}">
Run Code Online (Sandbox Code Playgroud)

但我不希望子视图对层次结构有这种意识.在代码中设置DataContext也可以 - 但是,我必须在显示父视图后执行此操作,否则在调用Show()时DataContext会被覆盖:

parentView.Show();
parentView.ChildView.DataContext = parentViewModel.childViewModel;
Run Code Online (Sandbox Code Playgroud)

此代码也让我感到不安,LOD违规等等.

这只是DataContext似乎是问题 - 我可以绑定孩子中的其他东西,例如我尝试将FontSize绑定到int属性只是为了测试它:

<views:ChildView 
    x:Name="ChildView"
    FontSize="{Binding Path=someVal}"/>
Run Code Online (Sandbox Code Playgroud)

这很好.

但我确信DataContext的绑定应该起作用 - 我已经看到了类似的这种事情的例子.我错过了一些明显的东西吗?有什么理由不行吗?某处有拼写错误吗?(为了你的利益我改名了,所以无论如何你都无法帮助我).

欢迎任何想法.

编辑

再次回顾这段代码,似乎我在某个地方犯了一个错误,因为父视图中的以下XAML现在似乎有效:

<views:ChildView 
    x:Name="ChildView"
    DataContext="{Binding childViewModel}"/>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么我不能让它最初工作,或者我可能已经改变它以使其工作.也许就像其中一个答案所暗示的那样是INotifyPropertyChanged问题.哦,好吧,向上和向上..

binding mvvm

5
推荐指数
1
解决办法
2万
查看次数

德米特定律是否仅适用于方法?

我见过的LOD描述(例如,Wikipedia,C2 Wiki)谈论的不是调用方法.引用维基百科:

函数的Demeter定律要求对象O的方法M 只能调用以下类型对象的方法:
- O本身
- M的参数
- 在M
-O的直接组件对象中创建/实例化的任何对象
- 全局变量可由O访问,在M的范围内

但是访问属性,变量或枚举呢?例如,鉴于此:

class FirstClass {
    public SecondClass GetRelatedClass() {
        return new SecondClass();
    }

    public enum InnerEnum {
        Violated,
        NotViolated
    }
}

class SecondClass {
    public int Property {get; set;}
    public string _variable = "Danny Demeter";
}
Run Code Online (Sandbox Code Playgroud)

是否存在任何/所有LOD违规行为?(暂时忽略直接变量访问,如果可以..)

void Violate(FirstClass first) {
    SecondClass second = first.GetRelatedClass();
    var x = second.Property;
    var y = second._variable;
    var z = FirstClass.InnerEnum.Violated;
}
Run Code Online (Sandbox Code Playgroud)

我不会做前两个(无论是否是'官方'违规行为),但对于枚举不太确定.

c# oop law-of-demeter

5
推荐指数
1
解决办法
978
查看次数

没有足够的存储空间来完成此操作 - 程序存储内存?

我已经获得了用.Net CF 3.5编写的Windows Mobile应用程序来修复,其中一个问题与存储有关.

已经出现了几次"没有足够的存储空间可用于完成此操作"的消息 - 它已记录在SQL CE数据库中,并且始终在数据访问期间发生(但不是相同的数据访问位).

我有点困惑的是它是指程序存储器(例如RAM)还是存储存储器(例如永久存储器).它似乎是存储内存,但设备似乎有很多免费.虽然存在一些OutOfMemoryExceptions,但这些看起来与此问题完全无关(因为与图像相关的问题会在不同的时间发生).

我们将SQL CE 3.5与单个连接一起使用,该连接与应用程序一起存储在设备上(而不是存储卡).该设备是运行Windows Mobile 6.1的Motorola MC75.

有什么想法吗?

.net compact-framework windows-mobile-6

4
推荐指数
1
解决办法
2万
查看次数

我应该学习Ruby 1.8还是1.9?

我最近开始学习Ruby,并且想知道要学习哪个版本.我有Matz的Ruby书,所以我对这些差异有所了解,默认情况下我会选择1.9因为性能,使用角色,而且因为学习很快就会过时的东西没什么意义!

但是,由于没有为1.9更新宝石,我在1.9.1中遇到了一些问题.我也想使用rcov进行编码器覆盖,这似乎是唯一的工具,但它不适用于1.9.我也刚刚阅读了这篇关于有人因为类似原因完全从Ruby转换的博文.

之前有人问过类似的问题,但现在几个月前,情况可能已经发生了变化.我目前没有对Ruby做任何具体的事情,但我计划很快编写一个Web应用程序,可能使用Rails,如果这有任何区别的话.

谢谢

ruby

4
推荐指数
1
解决办法
469
查看次数

如何抑制此COM泛型警告?

我正在使用msbuild编译VB.Net 2.0应用程序(在VS2008中创建),现在我添加了一个泛型返回类型,它给了我以下内容:

警告:类型库导出器在签名中遇到泛型类型实例.通用代码可能无法导出到COM.

刚刚花了很长时间删除所有以前的警告,我真的不想添加一个新警告.知道怎么摆脱它(除了不使用泛型)?

我不知道我在属性中添加了哪些细节,或者在项目级忽略列表中放入了什么数字.

.net vb.net msbuild compiler-warnings

4
推荐指数
1
解决办法
4068
查看次数