问题列表 - 第12792页

为什么C标准不支持嵌套函数?

在装配中实现它似乎不太难.

gcc还有一个标志(-fnested-functions)来启用它们.

c standards function

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

WPF TabControl和DataTemplates

我有一组ViewModel,我绑定到TabControl的ItemsSource属性.让我们调用那些ViewModels AViewModel,BViewModel和CViewModel.其中每个都需要有不同的ItemTemplate(对于标题;因为它们每个都需要显示不同的图标)和不同的ContentTemplate(因为它们具有非常不同的交互模型).

我想要的是这样的:

在某处的Resource.xaml文件中定义:

<DataTemplate x:Key="ItemTemplate" DataType="{x:Type AViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="ItemTemplate" DataType="{x:Type BViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="ItemTemplate" DataType="{x:Type CViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="ContentTemplate" DataType="{x:Type AViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="ContentTemplate" DataType="{x:Type BViewModel}">
    ...
</DataTemplate>

<DataTemplate x:Key="ContentTemplate" DataType="{x:Type CViewModel}">
    ...
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

单独定义:

<TabControl ItemTemplate="[ Some way to select "ItemTemplate" based on the type ]"
            ContentTemplate="[ Some way to select "ContentTemplate" based on the type ]"/>
Run Code Online (Sandbox Code Playgroud)

现在,我真实地知道,每次我使用相同的键定义DataTemplate时,系统就会抱怨.但是,有什么我可以做的类似于这将允许我将DataTemplate放入基于名称和数据类型的TabControl?

wpf tabcontrol datatemplate

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

以编程方式格式化生成的CodeDom代码

如何确保从以下代码生成的CS格式良好,即好像我们按下CTRL+ K+ D?这是C#

我们正在做的事情:

CodeMemberMethod membMethod = new CodeMemberMethod();
membMethod.Attributes = MemberAttributes.Static | MemberAttributes.Public;
membMethod.ReturnType = new CodeTypeReference("IEnumerable<" + TableNameAsSinglular + ">");
membMethod.Name = "Get" + TableName;
membMethod.Statements.Add(new CodeSnippetStatement(DataBaseContext + " dcontext = new " + DataBaseContext + "(ConnectionString);"));
membMethod.Statements.Add(new CodeSnippetStatement("var records = from record in dcontext." + TableName + " select new " + TableNameAsSinglular + "{"));
    int iCount = 0;

    //Add columns fields
    foreach (DataRow dr in sqlTable.Rows)
    {
        if (iCount == 4)
        break; …
Run Code Online (Sandbox Code Playgroud)

c# code-generation codedom

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

Scala Parser问题

我在测试简单的Book DSL的Scala Parser Combinator功能时遇到了问题.

首先是一本书类:

case class Book (name:String,isbn:String) {
def getNiceName():String = name+" : "+isbn
}
Run Code Online (Sandbox Code Playgroud)

接下来,有一个简单的解析器:

object BookParser extends StandardTokenParsers {
  lexical.reserved += ("book","has","isbn")

  def bookSpec  = "book" ~> stringLit ~> "has" ~> "isbn" ~> stringLit ^^ {
            case "book" ~ name ~ "has" ~ "isbn" ~ isbn => new Book(name,isbn) }

  def parse (s: String) = {
    val tokens = new lexical.Scanner(s)
    phrase(bookSpec)(tokens)
  }

  def test (exprString : String) = {
     parse (exprString) match {
         case Success(book) …
Run Code Online (Sandbox Code Playgroud)

parsing scala

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

替换XML元素的值?sed正则表达式?

我想获取一个XML文件并替换元素的值.例如,如果我的XML文件如下所示:

<abc>
    <xyz>original</xyz>
</abc>
Run Code Online (Sandbox Code Playgroud)

我想用另一个字符串替换xyz元素的原始值,无论它是什么,以便生成的文件如下所示:

<abc>
    <xyz>replacement</xyz>
</abc>
Run Code Online (Sandbox Code Playgroud)

你会怎么做?我知道我可以编写一个Java程序来执行此操作,但我认为替换单个元素的值太过分了,并且可以使用sed使用正则表达式进行替换.然而,我对这个命令不太新手,我希望有一种灵魂阅读,这将能够为我提供正确的正则表达式.

一个想法是做这样的事情:

sed s/\<xyz\>.*\<\\xyz\>/\<xyz\>replacement\<\\xyz\>/ <original.xml >new.xml
Run Code Online (Sandbox Code Playgroud)

也许我最好用我想要的替换文件的整行,因为我会知道我想要使用的元素名称和新值?但是这假设所讨论的元素在一行上,并且没有其他XML数据在同一行上.我宁愿有一个命令,它基本上会用我指定的新字符串替换元素xyz的值,而不必担心元素是否全部在一行上,等等.

如果sed不是这项工作的最佳工具,那么请给我一个更好的方法.

如果有人能引导我朝着正确的方向前进,我会非常感激,你可能会节省我数小时的试验和错误.提前致谢!

- 詹姆士

regex xml sed

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

在PostgreSQL中同时修改所有表上的OWNER

如何修改PostgreSQL数据库中所有表的所有者?

我试过,ALTER TABLE * OWNER TO new_owner但它不支持星号语法.

postgresql

384
推荐指数
12
解决办法
24万
查看次数

Freebase MQL过滤器,其中value == null?

可以在特定字段中获取值为null的所有三元组吗?所有date_of_birth的人都等于null?

[
  "type": "/people/person",  
  "date_of_birth":null,
  "name":null
]
Run Code Online (Sandbox Code Playgroud)

freebase mql

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

将对象[]传递给params对象[]不工作

我已经阅读了关于将对象[]传递给params对象[]的主题,但我不知道为什么它不能与我合作.

我在课堂上也有这些功能:

...
    private void CallbackEvent(object source, CallbackEvetArgs e) { // Some event with e.Data as string
    ...
        string[] values = e.Data.Split('|');
        DoSave("save", values.Skip(1).Cast<object>().ToArray());
    ...
    }
...
    public void DoSave(string action, params object[] values) {
    ...
        string value1 = values[0];
    ...
    }
...
Run Code Online (Sandbox Code Playgroud)

但是,value1不是接收value1中的字符串,而是接收整个数组(string []),因此无效的转换异常.

我究竟做错了什么?

c# casting object params

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

如何取消注册"匿名"事件处理程序

说如果我听一个事件:

Subject.NewEvent += delegate(object sender, NewEventArgs e)
{
    //some code
}); 
Run Code Online (Sandbox Code Playgroud)

现在我如何取消注册此活动?或者只是让内存泄漏?

.net c# events delegates anonymous-methods

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

您如何将实体框架(1.0)与ASP.Net成员资格一起使用?

我正在尝试为使用ASP.Net成员资格的应用程序设计实体模型,以进行用户身份验证.在我创建的大多数数据库模式中,记录通常最终通过aspnet_users表上的UserId字段与用户相关.这在过去对我来说很好用,但是现在我正在使用EF,我有一些概念性的问题,弄清楚我将如何从一个实体引用用户.

例如,假设我们有一个包含"postedBy"属性的"post"实体.我想能够用post.user.username之类的东西来获取创建这篇文章的用户的用户名,但是我担心基于aspnet_user表创建一个实体,因为担心创建一个让我们的模型我在更改数据库时绕过了Membership类.

我考虑过将post.userId字段保留为guid,然后要求任何需要知道用户名的代码使用该guid从Membership类中获取用户,但这似乎是"无助的".

有没有人对与会员资格整合的实体模型设计有任何建议?我会合理地使用"只读"用户实体.

asp.net entity-framework asp.net-membership

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