小编Wri*_*boy的帖子

松弛附件宽度和包装问题

我正在尝试使用松散的附件来记录应用程序错误,但像堆栈跟踪这样的大字段表现得非常奇怪.

首先,当使用附件时,表似乎被固定到某个任意宽度,无论如何要改变它,以便允许更宽的值?否则50%的松弛窗口是空白的,完全是浪费. 在此输入图像描述

仅使用文本可以正常工作,但是还有许多其他较小的字段可以从字段格式中受益.

另外,当消息很大时,我遇到了松弛做奇怪包装的问题.下面只是一个小片段,有几个字符掉落,但在整个堆栈上可能会有很大的损失.

示例(松弛消息构建器) 在此输入图像描述

在字符串中添加一个字符,现在它开始关闭(文本就在那里并且可以选择,它只是在包装上做得很糟糕.)

例2 在此输入图像描述

任何人都有任何建议,以获得更有用的东西?

attachment slack-api slack

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

图像构建操作:无和嵌入式资源之间的区别?

我在我的一些按钮上使用图片,我不希望这些图像包含在输出中.

这些图像是通过按钮属性设置的,因此它们在Resource.resx文件中定义.

我被告知要将Build Action设置为Embedded Resource,但我很好奇为什么这会产生影响.我现在将构建操作设置为"无",并且没有任何文件设置为复制.我可以将构建的应用程序移动到任何地方并启动它,所有图像都显示得很好.(只是为了澄清一下,这些图像在启动时肯定不在程序目录中,它们看起来还不错).

我在MSDN上查了一下并得到了这个:

无 - 文件未包含在项目输出组中,并且未在构建过程中编译.一个示例是包含文档的文本文件,例如自述文件.

嵌入式资源 - 此文件作为DLL或可执行文件嵌入在主项目构建输出中.它通常用于资源文件.

但是从这听起来好像将它们全部设置为无甚至不应该工作(但确实如此).

所以我很好奇它将嵌入式资源设置给它带来了什么好处.我测试了它,没有区别.希望有人能解释发生了什么.

我唯一的假设是,当通过按钮设置图像属性并且条目被添加到资源文件时,它不会连接到添加到项目中的文件(即使它们是相同的).因此,如果您以这种方式设置图像属性,那么图像甚至不需要包含在项目中(即在解决方案资源管理器中).

谢谢!

c# .net-4.0 visual-studio-2010

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

您应该在类中引用属性还是成员变量?

可能的重复:
是否应该通过属性访问同一类中的变量?

我最近遇到了这个问题,很好奇是否有某种标准,你应该在课堂上参考哪个标准。

我的意思是,无论您是直接访问成员变量还是通过属性(除非您需要避开一些自定义的 setter 代码),这都不应该有什么区别,但我想确保没有最佳实践。

partial class MyClass {
    private string foo;

    internal string Foo {
        get {
            return foo;
        }

        private set {
            foo=value;
            // I do other stuff
        }
    }

    public void DoSomething() {
        //Option 1;
        Foo="some string";

        //Option 2;
        foo="some string";
    }
}
Run Code Online (Sandbox Code Playgroud)

c# properties .net-4.0

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

不正确的Resharper建议-“合并条件表达式”

给定一个返回单个字符串值的oracle查询,要从查询中获取该值,我使用以下两行:

var result = cmd.ExecuteOracleScalar();
return result != null ? ((OracleString)result).Value : null;
Run Code Online (Sandbox Code Playgroud)

该语句中的“!= null”强调了“合并条件表达式”的建议。如果我接受建议,它将更改为:

return ((OracleString)result).Value;
Run Code Online (Sandbox Code Playgroud)

这将引发异常,因为对于许多执行,返回的值将为null。

无论如何有使用三元运算符但没有此警告?

请注意,如果我将代码更改为:

var result = cmd.ExecuteOracleScalar();
if (result == null)
    return null;
return ((OracleString)result).Value;
Run Code Online (Sandbox Code Playgroud)

然后,Resharper首先建议我“转换为返回语句”,只需将其更改回使用三元运算符即可。

有什么建议么?

oracle resharper

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

绑定和@ViewChild问题

这个问题可能是查看问题的最快方式

我不确定使用ViewChild时它是否只是一些明显的问题,但它很奇怪.

这个plunker显示3个输入:

  • 第一个输入是基本输入和可以对焦的按钮.
  • 第二个输入绑定到相同的值,单击编辑将解锁输入.
  • 第三个输入也绑定到相同的值,单击编辑将解锁输入并为其提供焦点.

但是,在添加ViewChild以获取对输入的引用时,输入上的NgModel绑定将停止工作.但是您附加的任何其他绑定(如已禁用)仍将继续运行.如果您注释掉app/extended.component的第52行,它将再次绑定,但显然现在它无法集中注意力.

第一个输入/按钮显示,当您绑定到正在扩展的类中的属性时,这显然只是一个问题.


简而言之,当我通过ViewChild访问输入时,我对NgModel的绑定中断.

也就是说,给定一个属性为"someValue"的基数:绑定:

@Component({
  selector: 'binding-working',
  template: `<input type="text" [(ngModel)]="someValue" />`
})
export class Working extends Base<string> {  
  constructor() { }
};
Run Code Online (Sandbox Code Playgroud)

不绑定:

@Component({
  selector: 'binding-broken',
  template: `<input type="text" #imBroken [(ngModel)]="someValue" />`
})
export class Broken extends Base<string> {  
  @ViewChild('imBroken') input;
  constructor() { }
};
Run Code Online (Sandbox Code Playgroud)

viewchild angular

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