问题列表 - 第21504页

如何将此代码转换为元编程,以便我可以停止复制它?

我有一个小的但不断增长的框架,用于构建带有ruby/rake的.net系统,我已经有一段时间了.在此代码库中,我有以下内容:

require 'rake/tasklib'

def assemblyinfo(name=:assemblyinfo, *args, &block)
  Albacore::AssemblyInfoTask.new(name, *args, &block)
end

module Albacore
  class AssemblyInfoTask < Albacore::AlbacoreTask
    def execute(name)
      asm = AssemblyInfo.new
      asm.load_config_by_task_name(name)
      call_task_block(asm)
      asm.write
      fail if asm.failed
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

该代码遵循的模式在框架中重复约20次.每个版本的不同之处在于正在创建/调用的类的名称(而不是AssemblyInfoTask,它可能是MSBuildTask或NUnitTask),以及execute方法的内容.每个任务都有自己的执行方法实现.

我不断修复这种代码模式中的错误,每次需要修复时我都要重复修复20次.

我知道可以做一些元编程魔术,并从一个位置为我的每个任务连接这个代码......但是我很难让它运行起来.

我的想法是我希望能够调用这样的东西:

create_task :assemblyinfo do |name|
  asm = AssemblyInfo.new
  asm.load_config_by_task_name(name)
  call_task_block(asm)
  asm.write
  fail if asm.failed
end
Run Code Online (Sandbox Code Playgroud)

这将连接我需要的一切.

我需要帮助!提示,建议,有人愿意解决这个问题......我如何避免不得不一遍又一遍地重复这种代码模式?

更新:你可以在这里获得完整的源代码:http://github.com/derickbailey/Albacore/提供的代码是/lib/rake/assemblyinfotask.rb

ruby metaprogramming dry

8
推荐指数
1
解决办法
471
查看次数

VS 2010中缺少App_Code文件夹

我试图使用VS 2010 RC创建动态数据网站.尝试创建一个我将放置LINQ to SQL类的App_Code文件夹失败.当我选择"添加ASP.NET文件夹"来添加文件夹时,我可以选择仅创建以下文件夹:

  • App_GlobalResources文件
  • App_LocalResources文件
  • 应用程序数据
  • App_Browsers文件
  • 主题

App_Code文件夹发生了什么变化?

asp.net dynamic-data visual-studio-2010 visual-studio

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

什么是C#桌面应用程序的最佳数据库?(没有网络)

我该怎么用?我需要存储数据,它只需要在本地机器上.我将存储所有字符串变量,并存储在许多列中.

哪个最好?它甚至会成为一个数据库吗?

c# database

13
推荐指数
3
解决办法
1万
查看次数

C#Active Directory库

有没有人看到任何可靠的库用于在C#和asp.net中使用活动目录(主要是用户相关的东西).我最好是与asp会员资格整合或构建定制的东西.

我看了一下LINQtoAD,但它似乎不再活跃了.

c# asp.net active-directory

3
推荐指数
2
解决办法
3163
查看次数

有效地计算矩阵中元素的总和

在一次采访中,我被问到是否给了一个n*m矩阵如何计算给定子矩阵中值的总和(由左上角,右下角坐标定义).

我被告知我可以预处理矩阵.

我被告知矩阵可能很大,子矩阵也是如此,因此算法必须高效.我偶然发现了一些并没有被告知最佳答案.

有谁有一个很好的答案?

algorithm matrix

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

将按钮的文本设置为在WPF中包含一些粗体字符

我想知道是否可以将其定义为ButtonWPF中的文本,例如:a b c

我试过设置 替代文字http://img651.imageshack.us/img651/1838/ctldhrzhy41gbrcch4dpjz4.png

但这似乎不起作用.

是否只能将Bold标签与FlowDocuments 一起使用?

谢谢

.net c# wpf styles button

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

假设我有这个HTML代码...如何在onclick中加粗文本?

<a href="" onclick="runstuff();return false;">Item</a>
Run Code Online (Sandbox Code Playgroud)

执行runstuff()之后,我想使用JQuery使Item变为粗体.我需要一个"id"吗?那么"自我"呢?

javascript jquery

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

文件相似性

我使用tf/idf来计算两个文档之间的相似性.它有一些限制,但表现不佳.

我寻找LDA(潜在的dirichlet分配)来计算文档相似度.我对此并不了解.关于我的问题,我找不到太多东西.

能否请您提供与我的问题相关的任何教程?或者你能给出一些建议,我怎样才能用LDA实现这个任务?

谢谢

PS:还有任何可用于LDA执行此类任务的源代码吗?

java math dirichlet

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

如何从XElement.ReadFrom(XmlReader)创建的XElement对象中删除空格

我正在解析一个大的xml文件.所以我使用XmlReader结合XElement而不是XElement.Load().

我已经从XmlReader中的XElement对象创建的,如下所示,并在这里.

static IEnumerable<XElement> StreamRootChildDoc(string uri)
{
    using (XmlReader reader = XmlReader.Create(uri, xmlReaderSettings))
    {
        reader.MoveToContent();
        // Parse the file and display each of the nodes.
        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    if (reader.Name == "Child")
                    {
                        XElement el = XElement.ReadFrom(reader) as XElement;
                        if (el != null)
                            yield return el;
                    }
                    break;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将此XElement对象内容作为字符串保存在数据库中而不使用空格.以下3种方式都不起作用.请注意,如果我使用XElement.Load()在内存中加载xml,则ToString(SaveOptions.DisableFormatting)可以正常工作.

<root>  <child></child>  </root> //xml saved in db with whitespace
<root><child></child></root> //want to save as this

XElement.ToString(SaveOptions.DisableFormatting) //
XElement.ToString(SaveOptions.None)
XElement.ToString()
Run Code Online (Sandbox Code Playgroud)

我用于XmlReader对象的XmlReaderSettings如下所示.我尝试IgnoreWhitespace …

xelement whitespace xmlreader

8
推荐指数
1
解决办法
5087
查看次数

如何在MonoTouch中进行IBOutlets?

我在Objective-C中完成了一个iPhone应用程序.当我想将Label链接到某些数据时,我会将其声明为:

@interface CityDetailViewController : UIViewController {
UILabel *cityName;
}

@property(nonatomic, retain) IBOutlet UILabel *cityName;
Run Code Online (Sandbox Code Playgroud)

然后当在代码中创建CityDetailViewController对象时,我会像这样设置城市名称 [self.cityView.cityName setText:city.name];

在我的生活中,我不能在MonoTouch中弄清楚如何做到这一点.我尝试通过Interface Builder手动创建Outlets,我尝试添加我在另一个项目的.designer.cs文件中找到的代码:

[MonoTouch.Foundation.Connect("headlineLabel")]
    private MonoTouch.UIKit.UILabel headlineLabel {
        get {
            return ((MonoTouch.UIKit.UILabel)(this.GetNativeField("headlineLabel")));
        }
        set {
            this.SetNativeField("headlineLabel", value);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我尝试了这两种方法的组合.它们不起作用.我能得到的最接近的是使用Interface Builder实际应用Outlet,但是当我的View被声明时,我得到了这个错误:

对于关键标题标签,此类不符合键值编码.

所以我完全不知所措.有人可以向我解释一下吗?

c# iphone xamarin.ios iboutlet

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