小编Kon*_*nev的帖子

为什么没有setter的属性没有序列化

我有一个可序列化的类,我的类中的一个属性在Guidgetter中生成一个.该属性不实现setter,并在序列化期间忽略.为什么这样,我总是必须实现一个setter才能序列化我的属性.

[Serializable]
public class Example
{
    [XmlAttribute("id")]
    public string Id
    {
        get
        {
             return Guid.NewGuid().ToString();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试实现一个空的setter并正确序列化.

[Serializable]
public class Example
{
    [XmlAttribute("id")]
    public string Id
    {
        get
        {
             return Guid.NewGuid().ToString();
        }
        set {}
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:

你能指出我应该如何定义值永远不会改变的属性或者内部生成值的属性?

.net c# xml-serialization

90
推荐指数
3
解决办法
7万
查看次数

为什么新的JSLint错误"使用空格,而不是制表符"和"不安全的字符"被引入?

我已经使用JSLint验证了我的JavaScript大约2年了,偶尔会有一些规则发生变化.通常,当JSLint引入新规则时,有一个复选框可以在解析时忽略此规则,或者如果您选择不忽略它,那么使您的代码符合它.

然而,当我今天运行我的JSLint验证时,我遇到了这两个新错误:

使用空格,而不是制表符.

这不是"混合标签和空格"错误.我只使用标签.这是最近修改的"标签和空格的混合"版本,现在通常不允许使用标签.

和:

不安全的性格.

*/

不安全的性格.

_const:{

没有新的选择可以忽略.我无法理解关闭块注释是什么不安全,为什么它认为_const:{当我有不安全时nomen: true,(在标识符中悬空_)或为什么我应该突然从空格切换到制表符,当我仍然有关于缩进的配置时4个空格是一个标签.

有没有人知道为什么这些被引入至少如何使JSLint忽略这些新规则?

更新:Messy White Space选项适用于该问题,但它会导致其他意外行为:

if (condition) { 
  //            ^-- there is a space but it won't indicate an error
Run Code Online (Sandbox Code Playgroud)

javascript jslint

56
推荐指数
4
解决办法
3万
查看次数

如何防止元素失去焦点?

如何将焦点放在一个文本框上?即使你点击浏览器中的任何地方.

$("#txtSearch").focus();
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

如何在iOS 5/iOS 6下使contentEditable工作

我目前正致力于一个令人满意的iframe,到目前为止,除了移动Safari之外,它在所有浏览器下都能正常运行.我使用的是iOS 5.1.1.该问题在任何支持contentEditable到最新版本的iOS版本中都是可重现的.

问题如下:点击它时内容得到正确聚焦,你可以移动光标和所有内容,但是一旦你对其应用了一个动作,就会发生以下情况:焦点仍在iframe中,你可以看到光标但是它没有像以前那样对keydown做出反应.没有任何事情发生,即使我移动光标仍然尝试在里面输入任何东西.

以下是发生的事情的示例:http: //www.quirksmode.org/dom/execCommand/

如果您将iframe的焦点集中在内容中的任何位置,并说您正确应用text-align.内容与右侧正确对齐,但如果您尝试键入任何其他字符,则可以看到ui锁定,但光标所在的内部不会出现新字符.如果您尝试应用其他命令,它仍然可以工作.

有没有人知道如何解决这个问题?

javascript html5 mobile-safari ios5 ios6

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

在1925年之前的JavaScript日期中错误的分钟和秒

我有一个应用程序,允许用户选择一些时间段.默认情况下,时隙为空,我的.NET后端具有默认生成的类型值,DateTimeOffset默认情况下设置为"0001-01-01T00:00:00+00:00".

现在,当我使用此值在前端填充日期时,它会在本地时区生成一个日期,但会有错误的分钟和秒.这只发生在Chrome中.我没有在Edge或Firefox下看到这个.

console.log(new Date("2001-01-01T00:00:00+00:00").toString())
// Mon Jan 01 2001 02:00:00 GMT+0200 (Eastern European Standard Time)
console.log(new Date("1001-01-01T00:00:00+00:00").toString())
//Thu Jan 01 1001 02:02:04 GMT+0202 (Eastern European Standard Time)
console.log(new Date("1801-01-01T00:00:00+00:00").toString())
//Thu Jan 01 1801 02:02:04 GMT+0202 (Eastern European Standard Time)
console.log(new Date("1901-01-01T00:00:00+00:00").toString())
//Tue Jan 01 1901 02:02:04 GMT+0202 (Eastern European Standard Time)
console.log(new Date("1961-01-01T00:00:00+00:00").toString())
//Sun Jan 01 1961 03:00:00 GMT+0300 (Eastern European Standard Time)
console.log(new Date("1921-01-01T00:00:00+00:00").toString())
//Sat Jan 01 1921 02:02:04 GMT+0202 (Eastern European Standard Time)
console.log(new …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome date

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

无法在Angular 2应用程序中更改lite-server的基本文件夹

我正在经历Angular 25分钟快速启动.但是,我的应用程序驻留在src/文件夹而不是我的存储库的根目录,当我运行npm start应用程序时,尝试index.html在根目录中查找文件.我在读了lite-server和文档显示,它使用BrowserSync我可以重新BrowserSyncbs-config.json在我的仓库.我这样做了,这就是我的配置:

{
  "port": 8123,
  "server": { "baseDir": "./src" }
}
Run Code Online (Sandbox Code Playgroud)

根据日志,它使用指定的配置:

[1] > todo-app-angular2@1.0.0 lite E:\GitHub\todo-app-angular2
[1] > lite-server "./bs-config.json"
Run Code Online (Sandbox Code Playgroud)

我还尝试通过bs-config.js覆盖

module.exports = {
  port: 8123,
  server: {
    baseDir: "./src"
  }
};
Run Code Online (Sandbox Code Playgroud)

但是,Angular应用程序仍然在端口3000上打开,而忽略了配置中定义的baseDir.我究竟做错了什么?

node.js browser-sync lite-server angular

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

为什么静态变量是序列化的?

public class MySerializable implements Serializable{

    private int x=10;
    private static int y = 15;
    public static void main(String...args){
        AnotherClass a = new AnotherClass();
        AnotherClass b;
        //Serialize
        try {
            FileOutputStream fout = new FileOutputStream("MyFile.ser");
            ObjectOutputStream Oout = new ObjectOutputStream(fout);
            Oout.writeObject(a);
            System.out.println( a.toString());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //De-serialize
        try {
            FileInputStream fis = new FileInputStream("MyFile.ser");
            ObjectInputStream  Oin = new ObjectInputStream (fis); 
            b = (AnotherClass) Oin.readObject();
            System.out.println( b.toString());
        } catch (FileNotFoundException e) {
            e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java serialization static-members

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

如何仅为特定项目设置npm注册表

我正在为我的一个npm软件包使用私有的npm注册表,我还有一些从默认的npm注册表引用的其他软件包.我现在正在做的是:

npm config set registry https://private.registry.endpoint
Run Code Online (Sandbox Code Playgroud)

但是,这会全局更改注册表.我可以手动创建.npmrc项目的根目录并手动设置注册表.这不会取代我的全局注册表,只会将私有注册表用于特定项目.但是,我想用命令执行此操作,而不必手动创建.npmrc和设置注册表.

如果您想知道为什么我需要这个,我知道如何自己做,但是我必须引导其他用户如何做,并且为它们提供命令会更简单.我需要知道是否有办法做某种事情:

npm config --local set registry https://private.registry.endpoint
Run Code Online (Sandbox Code Playgroud)

node.js npm npm-install

7
推荐指数
3
解决办法
1126
查看次数

jQuery删除ajax成功的元素

我有<button>ajax,并希望在成功请求后删除它.

<script type="text/javascript">
    $(".approve").click(function(){
        var el, image_id =  $(this).data('image-id');
        $.ajax({
            type: "PATCH",
            dataType: "json",
            data: { "approved": "True"},
            url: "/ml/api/image/" + image_id + "/?format=json",
            success: function(data){
                $(this).remove();
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

但这不起作用......

javascript jquery

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

如何扩展.NET TestClass

我正在尝试扩展.NET TestClass.我发现我需要扩展以下抽象类:TestClassExtensionAttributeTestExtensionExecution.TestExtensionExecution还需要我实施一个ITestMethodInvoker.我已经完成了以下操作,但是当我运行测试方法时,没有任何断点被攻击(在测试和扩展中都没有),这意味着测试类永远不会到达我的扩展,并且显然在较早的时候失败.有人可以指出我所缺少的内容,或者是一个如何扩展的工作实例 TestClass

延期:

class CoreTestClass : TestClassExtensionAttribute
{
    public override Uri ExtensionId
    {
        get { throw new NotImplementedException(); }
    }

    public override TestExtensionExecution GetExecution()
    {
        return new TestCore();
    }
}

class TestCore: TestExtensionExecution
{
    public override ITestMethodInvoker CreateTestMethodInvoker(TestMethodInvokerContext context)
    {
        return new AnalysisTestMethodInvoker();
    }

    public override void Dispose()
    {

    }

    public override void Initialize(TestExecution execution)
    {
        execution.OnTestStopping += execution_OnTestStopping;
    }

    void execution_OnTestStopping(object sender, OnTestStoppingEventArgs e)
    {
        throw new …
Run Code Online (Sandbox Code Playgroud)

.net c#

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