小编nos*_*bor的帖子

多重继承的解决方案 - 有机会改变保护lvl

我需要一个多重继承的解决方案.我知道我可以使用接口.这将是一个很好的解决方案但是......我需要有机会改变保护级别,但界面领域必须公开......

例如:

我有

interface IInterface_1 {
  string field_1{set;get;}
  string field_2{set;get;}
}

interface IInterface_2 {
  string field_3{set;get}
  string field_4{set;get}
}
Run Code Online (Sandbox Code Playgroud)

在大班我需要隐藏一些字段

class MainClass : IInterface_1, IInterface_2 {
  public string field_1{set;get;}
  private string field_2{set;get;}
  public string field_3{set;get}
  public string field_4{set;get}
}
Run Code Online (Sandbox Code Playgroud)

你对此有什么解决方案吗?

c# inheritance protection interface multiple-inheritance

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

避免在剃刀视图中使用"using"子句

我写了一个UrlHelper,在每个视图中我都需要包含一个using子句:

@using MyWebPage.Helpers
Run Code Online (Sandbox Code Playgroud)

有办法避免吗?如果自动导入,这将是很好的.

我在web.config中添加了这个,如下所示:

<pages>
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />
    <add namespace="MyWebPage.Helpers" />
  </namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)

但它不会解决我的问题.

asp.net-mvc razor asp.net-mvc-3

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

实体框架+验证注释

我想使用验证anotation.我已经有一个由实体框架实现的模型.我需要数据验证,我知道有一个非常好的数据anotation ...但我真的不知道如何使用它与实体框架正确.

我应该编辑实体吗?或者我应该写分开的课程?或者我应该编写从实体继承的类?

你能告诉我应该使用的最佳方式吗?

我想编写尽可能少的代码.

c# validation asp.net-mvc entity-framework

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

使用ToExpando方法时出现问题

嗨,我尝试使用ToExpando解决方案在剃刀视图中使用匿名类.我使用此解决方案 - > Razor中的动态匿名类型导致RuntimeBinderException

我会写我做的:

  1. 我添加了一个文件Extensions.cs,其中我放了以下代码:

    public static class Extensions
    {
        public static ExpandoObject ToExpando(this object anonymousObject)
        {
            IDictionary<string, object> anonymousDictionary = HtmlHelper.AnonymousObjectToHtmlAttributes(anonymousObject);
            IDictionary<string, object> expando = new ExpandoObject();
            foreach (var item in anonymousDictionary)
                expando.Add(item);
            return (ExpandoObject)expando;
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我写了一个查询,在控制器方法中从数据库接收元组:

    IEnumerable<dynamic> articles = (from p in db.Articles.Where(p => p.user_id == 2)
            select new
            {
                p.article_id,
                p.title,
                p.date,
                p.category,
                AverageScore = db.Articles_Scores
                    .Where(o => o.user_id == p.user_id && p.article_id == o.article_id)
                    .Average(m => m.score)
            }).AsEnumerable()
              .Select(r => r.ToExpando());
    int ii = …
    Run Code Online (Sandbox Code Playgroud)

linq asp.net-mvc entity-framework razor asp.net-mvc-3

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

重新分配内存访问冲突读取位置

可能我的大脑现在不能正常工作......我想知道为什么我在我的代码中收到提到的错误:

int ** zm;
zm = (int**)calloc(1, sizeof(int*));
*zm = (int*)calloc(1, sizeof(int));
*zm[0] = 5;
*zm = (int*)realloc(*zm, 2*sizeof(int));
*zm[1] = 10; // Access violation reading location 0xFFFFFFFFFFFFFFFF
Run Code Online (Sandbox Code Playgroud)

有人可以解释该代码中发生了什么吗?

c pointers memory-leaks memory-management realloc

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

优化C++模板执行

我正在开展性能至关重要的项目.该应用程序正在处理大量数据.代码是用C++编写的,我需要做一些更改.

给出了以下代码(这不是我的代码,我把它简化为最小):

void process<int PARAM1, int PARAM2>() {
    // processing the data
}

void processTheData (int param1, int param2) { // wrapper

    if (param1 == 1 && param2 == 1) { // Ugly looking block of if's
        process<1, 1>();
    else if(param1 == 1 && param2 == 2) {
        process<1, 2>();
    else if(param1 == 1 && param2 == 3) {
        process<1, 3>();
    else if(param1 == 1 && param2 == 4) {
        process<1, 4>();
    else if(param1 == 2 && param2 == 1) …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm optimization templates

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

猫鼬模式递归

是否可以在猫鼬中进行递归?

例如,我想创建嵌套注释。

让我们考虑以下示例:

commentSchema = new mongoose.Schema({
    comment  : String,
    author   : String,
    answers  : [commentSchema] // ReferenceError: commentSchema is not defined
})

productSchema = new mongoose.Schema({
    name      : {type: String, required: true},
    price     : Number,
    comments  : [commentSchema] 
})
Run Code Online (Sandbox Code Playgroud)

在 SQL 中,使用键很容易实现这一点。

首先我想到的是在commentSchema 中添加字段,它将指向它正在回答的评论,但在这种情况下,如果评论只是数组中的一个简单对象,它们没有生成 id,所以这个解决方案在目前的设计中无法完成。

我想到的第二个解决方案是为评论创建一个单独的表,然后他们将拥有自己的 id,但这是在 mongodb 中进行的好方法吗?我的意思是它开始看起来与 SQL 表设计非常相似。

mongoose node.js mongoose-schema

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

在linq查询中调用c#方法(实体框架)

有没有机会在linq查询中运行c#方法?我需要做那样的事情:

//...
class Match {
  public double PrecentageMatching(string s1, string s2) {
    //...
    return result; // value from 0.0 to 1.0
  }
}
//...

string pattern = "nameOfRecord";
var similarRecords = db.Table.Select( 
   r => Match.PrecentageMatching(r.name, pattern) > 0.5 
);
Run Code Online (Sandbox Code Playgroud)

我知道linq不会知道PrecentageMatching方法.但我想知道是否有办法做到这一点?

我正在使用Entity框架.我需要在数据库端没有存储过程和程序集的情况下执行此操作.我没有访问数据库.

.net c# sql linq entity-framework

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

在Windows 7启动时启动程序(自动启动)

我写了一个应该从Windows启动时开始的应用程序.我在HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中的Windows注册表中添加了一个条目.已成功添加条目,但程序无法正常启动.

我已经在Windows 7 64位上测试了应用程序.应用程序需要具有管理员权限才能运行,也许这就是它无法启动的原因?

我还看到条目的值不在引号中,而是其他的.这是强制性的吗?

这是我的c#代码:

            var registry = Registry.CurrentUser;
            var key = registry.OpenSubKey(runKeyBase, true);
            key.SetValue(KEY, directory + @"\" + filename);
            Registry.CurrentUser.Flush();
Run Code Online (Sandbox Code Playgroud)

我怎么能让它工作?

.net c# registry autostart windows-7

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

在xaml标记内设置事件处理程序方法

有没有机会在xaml中设置事件处理程序而不使用c#,powershell等?例如,我想在点击后设置另一个控件的文本.下面是我想要做的"伪代码":

<Button Content="Set value = text1" OnClick="txt1.Text = text1" />
<Button Content="Set value = text2" OnClick="txt1.Text = text2" />
<Textbox Name="txt1" />
Run Code Online (Sandbox Code Playgroud)

wpf xaml

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