小编B. *_*non的帖子

表单在运行时可见,但在设计时不可见

我的项目没有错误,我可以通过F5运行它,但我无法查看我的"主"表单,因为[设计]选项卡告诉我,"为了防止在加载设计器之前可能的数据丢失,必须解决以下错误:类名"?"不是此语言的有效标识符."

但是包含该描述的错误列表表明它位于第0行和第0列.

建立| 清洁解决方案没有帮助.

[Design]页面中的Call Stack是:

at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.CodeTypeDeclarationFromCodeClass(CodeClass vsClass)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnNamespacePopulateTypes(Object sender, EventArgs e)
at System.CodeDom.CodeNamespace.get_Types()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.Parse(TextReader codeStream)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.MergedCodeDomParser.System.CodeDom.Compiler.ICodeParser.Parse(TextReader stream)
at System.CodeDom.Compiler.CodeDomProvider.Parse(TextReader codeStream)
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
Run Code Online (Sandbox Code Playgroud)

UPDATE

关闭VS2010并重新启动解决了它.

这里:http://msdn.microsoft.com/query/dev10.query?appId = Dev10IDEF1&l = EN-US&k = k(WHYDTELPAGE)%3bk(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3DdV4.0%22)&rd =真正

我找到了一些建议,包括这个建议(但我不需要尝试它,因为在回来工作之前让VS进入它的房间一两分钟):

"删除包含前一个会话中的设计器布局信息的[solutionname] .suo文件,然后启动项目并重建.."

c# visual-studio-2010 windows-forms-designer winforms

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

如何将子项添加到ListView?

我正在尝试使用子项目工作的Listview获得最简单的示例.但是这段代码:

private void button1_Click(object sender, EventArgs e) {
    listView1.Groups.Add(new ListViewGroup("Kannst du mich sehen?", HorizontalAlignment.Left));
    string[] strArr = new string[4] { "uno", "dos", "twa", "quad" };
    for (int i = 0; i < strArr.Length; i++)
    {
        ListViewItem lvi = new ListViewItem(strArr[i]);
        listView1.Items.Add(lvi);
        lvi.SubItems.Add("Ciao, Baby!");
        listView1.Items[i].Group = listView1.Groups[0];
    }
}
Run Code Online (Sandbox Code Playgroud)

...不显示子项("Ciao,Baby!").表明:

Kannst du mich sehen?
---------------------
uno   dos   twa   quad
Run Code Online (Sandbox Code Playgroud)

......但我希望它是:

Kannst du mich sehen?
---------------------
uno Ciao, Baby!
dos Ciao, Baby!
twa Ciao, Baby!
quad    Ciao, Baby!
Run Code Online (Sandbox Code Playgroud)

更奇怪的是(在我看来),我明白了:

Default
-------
uno …
Run Code Online (Sandbox Code Playgroud)

c# listview listviewitem winforms

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

来自Resharper的可疑警告 - 我应该更改我的代码吗?

使用以下代码:

if (lombardiTrophy.Substring(1, 1).Equals('~'))
Run Code Online (Sandbox Code Playgroud)

......我明白了," 可疑的比较:解决方案中没有从'string'和'char'继承的类型 "

有没有更好的方法来做到这一点,不会导致Resharper提出其骚扰?

c# resharper refactoring automated-refactoring

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

Resharper猛拉自己的尾巴; 这是第一次还是最后一次?

我有一些冗长的代码:

private bool AnyUnselectedCombox()
{
    bool anyUnselected = false;
    foreach (Control c in this.Controls)
    {
        if (c is ComboBox)
        {
            if ((c as ComboBox).SelectedIndex == -1)
            {
                anyUnselected = true;
                break;
            }
        } 
    }
    return anyUnselected;
}
Run Code Online (Sandbox Code Playgroud)

...... Resharper提供了一个像这样的LINQ表达式的elegantize:

return this.Controls.OfType<ComboBox>().Any(c => (c as ComboBox).SelectedIndex == -1);
Run Code Online (Sandbox Code Playgroud)

...但随后的Resharper检查说明了它生成的代码(上图):"类型转换是多余的"(指"c作为ComboBox"部分),因此它最终为:

return this.Controls.OfType<ComboBox>().Any(c => c.SelectedIndex == -1);
Run Code Online (Sandbox Code Playgroud)

Resharper不应该生成Resharper批准的代码吗?或者它有时需要两次通过才能完全"束紧腰部"?

c# resharper refactoring winforms

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

空组合框的项目是null吗?

Resharper希望我改变这段代码:

foreach (var item in cmbxColor1.Items)
{
    cmbxColor2.Items.Add(item);
    . . .
Run Code Online (Sandbox Code Playgroud)

...因为它说,"可能'System.NullReferencesException'"

所以它应该是这样的:

foreach (var item in cmbxColor1.Items)
{
    if (null != cmbxColor2.Items)
    {
        cmbxColor2.Items.Add(item);
. . .
Run Code Online (Sandbox Code Playgroud)

我不明白 - 除非null ==空,组合框的项目怎么可能为null?如果null ==为空,那么这就是他们[s,w]调用此代码时应该是什么.

c# resharper null combobox nullreferenceexception

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

为什么lambdas需要=>作为语法的一部分?

我在一本书中遇到了这行代码:

var data = db.Query(sql).OrderByDescending(c => c.DatePosted); 
Run Code Online (Sandbox Code Playgroud)

这种事情似乎跟我追尾......

为什么c => c.必要?以下是不可理解的(编译器,人类更是如此)?

var data = db.Query(sql).OrderByDescending(DatePosted); 
Run Code Online (Sandbox Code Playgroud)

我确信在幕后发生了各种奇特的事情,据称需要这种奇怪的lambda语法,但同样:

为什么?真的有必要吗?编译器不能弄清楚DatePosted是要排序的列吗?

c# lambda

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

将"routes.MapMvcAttributeRoutes()"添加到RegisterRoutes()有什么好处?

根据文章" ASP.NET MVC5中的新功能 ",您必须将此添加到RegisterRoutes()方法才能使用属性路由:

routes.MapMvcAttributeRoutes();
Run Code Online (Sandbox Code Playgroud)

...所以现在的方法是:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapMvcAttributeRoutes();

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}
Run Code Online (Sandbox Code Playgroud)

我没有那个额外的/中间调用,我的属性路由一直在工作.

那么,如果有的话,为我做什么呢?

c# asp.net-web-api attributerouting asp.net-web-api-routing asp.net-mvc-5

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

如何解决“无效的 Resx 文件...找不到 ResX 读取器和写入器类型名称的有效“resheader”标签。” 编译器错误?

我收到十几个“无效的 Resx 文件。ResX 输入无效。无法找到 ResX 读取器和写入器类型名称的有效“resheader”标签。” 尝试编译时出现错误消息。

我以前遇到过这个问题,如下所示

但这一次,它的表现略有不同。

首先,这是我所做的:我在项目中的几个文件上选择了上下文菜单项“撤消挂起的更改”。对于他们每个人来说,其相关的 *.resx 文件显然已损坏。

2 单击错误列表中的第一个 err 消息会将我带到 .resx 文件中:

  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
Run Code Online (Sandbox Code Playgroud)

2-单击下一个错误将我带到 .resx 文件中的此处:

<resheader name="resmimetype">text/microsoft-resx</resheader>
Run Code Online (Sandbox Code Playgroud)

这是注释掉的解释部分;在一些上下文中:

<!-- 
    Microsoft ResX Schema 

    Version 1.3

    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.

    Example:

    ... ado.net/XML headers & schema …
Run Code Online (Sandbox Code Playgroud)

whitespace resx resource-files visual-studio-2008 winforms

6
推荐指数
0
解决办法
5113
查看次数

"使用未分配的局部变量"错误的原因是什么?

使用此代码:

bool dataToAdd;
if (null == _priceComplianceDetailList) return dataToAdd;
Run Code Online (Sandbox Code Playgroud)

我收到编译错误," 使用未分配的局部变量'dataToAdd' "

所以我不得不明确地给布尔分配"假":

bool dataToAdd = false;
if (null == _priceComplianceDetailList) return dataToAdd;
Run Code Online (Sandbox Code Playgroud)

在上下文中:

private bool PopulateSheetWithDetailData()
{
    bool dataToAdd = false;
    if (null == _priceComplianceDetailList) return dataToAdd;
    List<PriceComplianceDetail> _sortedDetailList =
    . . .
    return _sortedDetailList.Count > 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么有必要?bool的默认值是否为false?

.net c# boolean default default-value

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

为什么我用这段代码得到JsonReaderException?

我有这个代码试图打开一个.json文件并阅读它:

[Route("{unit}/{begindate}")]
public string Get(string unit, string begindate)
{
    string _unit = unit;
    string _begindate = String.Format("{0}01", PlatypusWebReportsConstsAndUtils.HyphenizeYYYYMM(begindate));           
    string appDataFolder = HttpContext.Current.Server.MapPath("~/App_Data/");
    // semi-hardcoded file name for now
    string jsonFilename = string.Format("PoisonToe_{0}_{1}.json", _unit, _begindate);
    string fullPath = Path.Combine(appDataFolder, jsonFilename);
    JObject platypusComplianceJson = JObject.Parse(File.ReadAllText(fullPath));
    . . .
Run Code Online (Sandbox Code Playgroud)

在最后一行,我得到:

Newtonsoft.Json.JsonReaderException未被用户代码处理HResult = -2146233088 Message =从JsonReader读取JObject时出错.当前的JsonReader项不是对象:

根据我在这里读到的内容,我认为这是实现它的方法.我究竟做错了什么?

c# json.net

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