小编Bri*_*sio的帖子

重用LESS嵌套样式

假设我使用Less定义了一个样式:

ul.unstyled,
ol.unstyled {
  margin-left: 0;
  list-style: none;
}
Run Code Online (Sandbox Code Playgroud)

后来,我想重新使用这个unstyled类:

.my-list {
  .unstyled;
}
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用,我无法弄清楚它是否有效.有什么想法吗?

less

8
推荐指数
2
解决办法
4917
查看次数

Azure是操作系统还是框架?

MS称Azure为操作系统.

对我来说,感觉更像是一个框架.我在分别定义这两个时遇到了一些麻烦.我有一个普遍的直觉,但我并不清楚地说,如果Azure真的是一个操作系统,或者只是一个位于操作系统之上的框架.

windows azure

7
推荐指数
1
解决办法
2404
查看次数

有什么方法可以避免C#中的Property内联优化?

所以我有一个旨在实现INotifyPropertyChanged的PropertyBag类.为了使这段代码尽可能干净地工作并避免用户错误,我使用堆栈来获取属性名称.请参阅,如果属性名称与实际属性完全不匹配,那么您将失败并且我正在尝试保护它.

所以,这是该类的示例用法:

public class MyData : PropertyBag
{
    public MyData()
    {
        Foo = -1;
    }

    public int Foo
    {
        get { return GetProperty<int>(); }
        set { SetProperty(value); }
    }
}
Run Code Online (Sandbox Code Playgroud)

基本PropertyBag的重要代码在这里:

public abstract class PropertyBag : INotifyPropertyChanged
{
    protected T GetProperty<T>()
    {
        string propertyName = PropertyName((new StackTrace()).GetFrame(1));
        if (propertyName == null)
            throw new ArgumentException("GetProperty must be called from a property");

        return GetValue<T>(propertyName);
    }

    protected void SetProperty<T>(T value)
    {
        string propertyName = PropertyName((new StackTrace()).GetFrame(1));
        if (propertyName == null)
            throw new ArgumentException("SetProperty …
Run Code Online (Sandbox Code Playgroud)

c# stack-trace

7
推荐指数
1
解决办法
4312
查看次数

ASP.Net中的GridView - 选择正确的行

我有一个包含GridView的页面.GridView一次分页有10个项目.通常,我希望用户从GridView中选择项目并填充FormView.这很好用.

我还想支持一个查询参数?ID = n,其中页面将加载指定的项目.

如何告诉DataGrid或数据源将哪个项设置为数据上下文?

我希望DataGrid转到正确的页面并选择项目,在FormView中显示指定的项目.

除了将数据源限制为特定项目之外,我无法弄清楚如何执行此操作,这会让用户感到困惑.

有什么想法吗?

asp.net gridview

7
推荐指数
1
解决办法
7984
查看次数

如何知道在Ruby中设置实例变量的时间

有没有办法在Ruby中覆盖实例变量的设置?

假设我设置了一个实例变量:

@foo = "bar"
Run Code Online (Sandbox Code Playgroud)

我可以截取并执行某些操作(例如记录或放置)

我想,我试图覆盖所有类型的赋值运算符.甚至可以这样做吗?

到目前为止,我提出的最好的是:

class Module
  def attr_log_accessor( *symbols )
    symbols.each { | symbol |
      module_eval( "def #{symbol}() @#{symbol}; end" )
      module_eval( "def #{symbol}=(val) 
                      @#{symbol} = val
                      puts \"#{symbol} has changed\"
                    end" )
    }
  end
end
Run Code Online (Sandbox Code Playgroud)

然后,当我定义访问器并设置它时,我的代码被执行:

class Test
  attr_log_accessor :foo

  def DoSomething
    self.foo = "bar"
  end
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,这需要我写self.foo ="bar",而不是@foo ="bar".

有什么想法吗?

ruby

7
推荐指数
1
解决办法
905
查看次数

单元和功能测试iPhone代码?

我刚刚参加了一个关于为iPhone开发应用程序的研讨会.发言人告诉我,没有可用于为您的iPhone软件编写单元测试或功能测试.

这是真的?到目前为止,iPhone真的没有测试故事吗?

iphone tdd unit-testing

6
推荐指数
3
解决办法
2708
查看次数

ASP.NET的快速升级

我是一位经验丰富的.NET应用开发人员 我的所有开发经验都是使用WinForms/WPF的桌面应用程序.

我最后一次使用ASP是在1998年.用ASP.NET改变了很多,我意识到了这一点.我想知道什么是使用ASP.NET和WebForms(而不是MVC)快速提升的最佳资源.有什么建议?

asp.net

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

在C#中使用Lambda的UnHooking事件#

我经常遇到想要订阅事件的情况,但我想使用lambda来执行此操作:

public class Observable
{
    public event EventHandler SomethingHappened;

    public void DoSomething()
    {
        // Do Something...
        OnSomethingHappened();
    }
}

// Somewhere else, I hook the event
observable.SomethingHappened += (sender, args) => Console.WriteLine("Something Happened");
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道如何取消事件.由于lambda在引擎盖下创建了一个匿名委托,所以我没有什么可以调用-=的.

现在,我可以创建一个方法:

private void SomethingHappened(object sender, EventArgs args)
{
    Console.WriteLine("Something Happened");
}
Run Code Online (Sandbox Code Playgroud)

然后我可以挂钩/取消所有我想要的东西:

observable.SomethingHappened += SomethingHappened;
observable.SomethingHappened -= SomethingHappened;
Run Code Online (Sandbox Code Playgroud)

但我真的非常非常喜欢使用我的lambda.在一个更复杂的例子中,lambdas在这里非常方便.

我很确定我运气不好......但我想知道是否有人想出办法做到这一点?

c# events lambda

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

在ActionScript3中显式覆盖构造函数

所有,

我在另一篇文章中遇到了这个有趣的事情.有人指出,对我说,你可以明确地覆盖构造...这似乎没有必要,我甚至编译有些惊讶.看一看:

public class TestClass
{
    public function TestClass() {}
}

public class TestClass2 extends TestClass
{
    public override function TestClass2() {}
}
Run Code Online (Sandbox Code Playgroud)

在构造函数上显式调用override可能只是一个无操作,因为它肯定不是必需的. 我的问题:我在这里有一个微妙的错过吗?显式重写构造函数会告诉编译器一些东西吗?

actionscript-3

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

ActionScript中的E4X

看看ActionScript中的E4X实现,我发现他们必须弄清楚如何做三件事我不确定可以在ActionScript中定期完成:

以@为前缀的属性/ Getters: var myAttribute = xmlPerson.@name;

用于过滤的无名函数: xmlData.person.(/* predicate */)

谓词的lambda语法: xmlData.person.(@name == "Brian")

所以这就是我的问题:这些仅仅Vector.<>是为E4X提供的一次性功能(很像),因此对我们来说无法实现吗?或者,作为ActionScript开发人员,我们是否可以访问这些功能?

更具体地说,我希望能够访问我自己代码的lambda谓词的表达式树(不以任何方式绑定到XML类).

我发现这被称为"过滤器操作员"......但我不知道如何利用它.不确定我可以...因为ActionScript不允许运算符重载:(

actionscript-3

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