小编M4N*_*M4N的帖子

无法添加到csharp字典定义,接收"对象引用未设置为实例..."

嘿伙计们,我正在尝试添加到字典中,并接受"对象引用未设置为对象的实例".错误.我认为这意味着我试图将其设置为不存在?

这是相关代码:

                Dictionary<string, Dictionary<int, Dictionary<string, string>>> user = new Dictionary<string, Dictionary<int, Dictionary<string, string>>>();
            user.Add("approved", null);
            user.Add("pending", null);
            user.Add("declined", null);
            int zz = 0;

            while (results.Read())
            {
                Dictionary<string, string> field = new Dictionary<string, string>();
                for (int i = 0; i < results.FieldCount; i++)
                {
                    switch (fds[i].ToString())
                    {
                        case "gender":
                            string gend = ((Convert.ToBoolean(results[i])) == false) ? "Male" : "Female";
                            field.Add("gender", gend);
                            break;
                        default:
                            field.Add(fds[i], results[i].ToString());
                            break;
                    }
                }
                string status = results[0].ToString();
                user["approved"].Add(zz, field);
                zz++;
            }
Run Code Online (Sandbox Code Playgroud)

我在开始设置三个词典的方式有问题吗?谢谢,

精神科

c#

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

为什么我必须使用"this"从扩展类中调用扩展方法?

我写了几十种扩展方法,它们都按预期工作.但这是我第一次在这种情况下使用扩展方法.

public static class ControllerExtensions
{
    public static RedirectToRouteResult RedirectToAction<TController>(
        this Controller controller
        , Expression<Action<TController>> action
      ) where TController : Controller
    {
      RouteValueDictionary routeValuesFromExpression = 
        ExpressionHelper.GetRouteValuesFromExpression<TController>(action);

      return new RedirectToRouteResult(routeValuesFromExpression);
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来很正常吧?但在我的控制器中,我无法通过键入来访问此扩展方法.相反,我必须在前面添加关键字"this".例如:

// This does not work, I get a compiler error because
// RedirectToAction has no overload for the generic.
//
return
  RedirectToAction<MembershipController>(
     c => c.RegisterSuccess(Server.UrlEncode(code) ));

// But, this does work?!?!
//
return
  this.RedirectToAction<MembershipController>(
     c => c.RegisterSuccess(Server.UrlEncode(code) ));
Run Code Online (Sandbox Code Playgroud)

很奇怪.也许是因为我在我正在扩展的实例对象中?"控制器"实例是什么?

果然,我能够在一个简单的控制台应用程序中复制它:

class Program
{
    static void Main(string[] args)
    { …
Run Code Online (Sandbox Code Playgroud)

.net extension-methods

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

subversion和tortoisesvn:分支/移动目录

我的公司代码位于一个subversion存储库中,到目前为止它运行良好.我遵循了如何设置存储库的建议,即我有分支/标签/中继子目录.但我现在想要更有条理,并有2个元分支,开发和发布.前者显然是出于开发目的,工程师可以尝试不同的奇怪事物,而后者则是针对产品就绪的稳定代码.所有新功能在开发时将首先存在于"dev"中,一旦被认为可以,它们将偶尔合并到"发布"分支上.承诺"发布"只会来自这种合并加上正常的bug.这些元分支中的每一个都包含普通的分支/标签/中继子目录.

我遇到的问题是我无法为我的生活做好准备.我创建了2个元分支,将所有现有的子目录移动到"dev",我现在想将"dev"的主干移动到"release"主干.但我无法想象如何.如果我切换(来自TortoiseSVN),它只是删除所有内容,因为"释放"中继是空的.如果我尝试从'dev/trunk'创建一个分支'release/trunk',tortoisesvn会抱怨该路径不存在.

我无法弄清楚该怎么做.这应该是简单的不应该吗?我猜很多人会使用类似的组织,开发与发布?!

欢迎任何建议/意见/想法.

提前致谢.

一个

svn tortoisesvn branch

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

为什么我无法从 resx 文件加载图像资源?

我有一个控件库,我已将 .resx 文件添加到其中(ImageResources.resx)。它包含两个我随后添加的 .png 图像。

在同一个库中,我有一个控件,可以加载几个图像来进行一些自定义绘图,但我似乎无法加载资源:

void GTableLayoutPanel::SetBorderImagesFromManifest(String^ topLeftCornerImageName, String^ topImageName)
{
    // Grab the assembly this is being called from
    Assembly^ assembly = Assembly::GetExecutingAssembly();

    // Grab the images from the assembly
    Stream^ stream = assembly->GetManifestResourceStream(topLeftCornerImageName);
    Image^ topLeftImage = System::Drawing::Image::FromStream(stream);
    stream = assembly->GetManifestResourceStream(topImageName);
    Image^ topImage = System::Drawing::Image::FromStream(stream);

    // Update the internal store from the supplied images
    SetBorderImages(topLeftImage, topImage);
}
Run Code Online (Sandbox Code Playgroud)

...给我错误抱怨为stream空,这表明我的呼叫GetManifestResourceStream失败。

图像被调用group_box_top.pnggroup_box_top_left.png并且我调用图像加载器,如下所示:

SetBorderImagesFromManifest("group_box_top_left.png", "group_box_top.png");
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

SetBorderImagesFromManifest("group_box_top_left", "group_box_top");
Run Code Online (Sandbox Code Playgroud)

...因为文件出现在 .resx 文件中,没有 .png 扩展名,但这会产生相同的错误。

我在这里错过了一步吗? …

.net resources resx c++-cli manifest

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

用于asp.net应用程序安装程序的wix或installshield?

为asp.net应用程序创建安装程序的最佳工具是什么?我的目标是:

  1. 在iisexpress上安装asp.net应用程序
  2. 安装sqlexpress(作为先决条件)
  3. 为我的应用程序配置IIS
  4. 在sqlserver上恢复数据

installer installshield wix

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

Quartz.Net cron触发器每月安排一项工作

我正在尝试使用quartz.net创建一个每1个月运行一次的工作

我对如何实现这一点感到有些困惑,任何人都可以就解决方案提出建议

谢谢

PS我正在使用Quartz 2.2.2.400版

编辑:我做了每日触发

job = JobBuilder.Create<Jobs>()
            .WithIdentity(Params.JobsKind.BlaBlaBla.ToString(), "group1")
            .Build();

        trigger = TriggerBuilder.Create()
            .WithIdentity("triggerBlaBlaBla", "group1")
            .WithDailyTimeIntervalSchedule(x => x.StartingDailyAt(Params.BlaBlaBLa)
                .WithIntervalInHours(24)
                .OnEveryDay())
            .Build();

        sched.ScheduleJob(job, trigger);
Run Code Online (Sandbox Code Playgroud)

现在我需要每月触发一次

c# windows-services quartz.net

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

在.net 4.0上运行ASP.NET vNExt

如果我在.NET Framework 4.0上运行服务器.是否可以在其上运行ASP.NET vNext?或者是否需要更高的框架版本?

asp.net asp.net-core

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

如何检测当前时间是否在15.31 - 15.45之间

在网点框架工作2

如何更好地使用和易于使用我有很多次

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string timenow = DateTime.Now.ToString("T");
        Label1.Text = DateTime.Now.ToString("T");
        Label3.Text = DateTime.Now.ToString("D");
        Label2.Text = getTimeZone(timenow);
    }

    //hh:mm:ss
    protected string getTimeZone(string time)
    {
        string[] e = time.Split(':');
        int h = Convert.ToInt16(e[0]);
        int m = Convert.ToInt16(e[1]);
        int s = Convert.ToInt16(e[2]);

        if ((h == 15) && (m >= 1) && (m …
Run Code Online (Sandbox Code Playgroud)

asp.net datetime

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

用泛型实现继承的抽象成员

说我上课了:

abstract class A<T> {
    public abstract void foo(T a);
}

class B : A<int> {
    public void foo(int a) {              //ERROR, signature is not correct
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何实现基类?参数的类型应为int.

c# generics polymorphism inheritance

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

lambda中的几个陈述

我有以下声明

var evarage = productionreportentry
              .Sum(productionReportEntry => productionReportEntry.Cycletime);
Run Code Online (Sandbox Code Playgroud)

我想在Sum lambda中添加一些日志记录.这可能吗?

.net c# lambda

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