小编cdb*_*a89的帖子

打字稿检查对象中的属性是否以类型安全的方式

编码

const obj = {};
if ('a' in obj) console.log(42);
Run Code Online (Sandbox Code Playgroud)

不是打字稿(没有错误)。我明白为什么会这样。此外,在 TS 2.8.1 中,“in”用作类型保护。

但是,有没有办法检查属性是否存在,但如果属性未在obj的接口中定义,则会出错?

interface Obj{
   a: any;
}
Run Code Online (Sandbox Code Playgroud)

我不是在谈论检查未定义...

javascript types undefined typescript

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

TortoiseHG和hgsubversion(Windows):"没有名为hgsubversion的模块"

我从https://tortoisehg.bitbucket.io/download/index.html(2.8.1)安装了最新版本的TortoiseHG for Windows

我做到了

hg clone http://bitbucket.org/durin42/hgsubversion .
Run Code Online (Sandbox Code Playgroud)

并在mercurial.ini中设置正确的路径:

[extensions]
hgsubversion = C:\hgextensions\hgsubversion\hgsubversion
Run Code Online (Sandbox Code Playgroud)

如果我做:

hg version --svn
Run Code Online (Sandbox Code Playgroud)

我可以看到hgsubversion似乎安装正确:

Mercurial Distributed SCM (version 2.6.2)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2012 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

hgsubversion: 32f6b970c762
Subversion: 1.6.16
bindings: SWIG
Run Code Online (Sandbox Code Playgroud)

但是当我想克隆一个SVN存储库(来自网络的任何例子)时,它说:

abort: No module named hgsubversion!
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

svn tortoisehg hgsubversion

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

Android:扩展Linearlayout,但RelativeLayout需要相同.重复的代码不可避免?

我有这个代码:

public class CopyOfLinearLayoutEntry extends LinearLayout implements Checkable {
    private CheckedTextView _checkbox;
    private Context c;

    public CopyOfLinearLayoutEntry(Context context) {
        super(context);
        this.c = context;
        setWillNotDraw(false);
    }

    public CopyOfLinearLayoutEntry(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.c = context;
        setWillNotDraw(false);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        Paint strokePaint = new Paint();
        strokePaint.setARGB(200, 255, 230, 230);
        strokePaint.setStyle(Paint.Style.STROKE);
        strokePaint.setStrokeWidth(12);
        Rect r = canvas.getClipBounds();
        Rect outline = new Rect(1, 1, r.right - 1, r.bottom - 1);
        canvas.drawLine(r.left, r.top, r.right, r.top, strokePaint);
    }

    @Override
    protected void …
Run Code Online (Sandbox Code Playgroud)

java inheritance android relativelayout android-linearlayout

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

SQL Server:程序调用,内联连接不可能?

我正在使用SQL Server 2008 R2,并想知道是否还有其他类似的方法

EXEC dbo.myProcedure (SELECT columnName FROM TableName)
Run Code Online (Sandbox Code Playgroud)

要么

EXEC dbo.myProcedure @myStringVariable + 'other text'
Run Code Online (Sandbox Code Playgroud)

所以这些过程调用实际上是有效的,而不是先将整个东西放入变量中.

sql sql-server

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

Java:Gson和编码

我在Gson中使用Umlauts(ä,ü,ö),我需要通过Http Post Body传递.

不幸的是,如果Umlauts没有以某种方式转换,我的网络应用程序将返回null,而它们不是.

content-type是"application/json"

我如何告诉Gson正确编码Umlauts(变音符号是值,而不是键)?

java encoding json gson

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

NHibernate:IUserType无效

我有这个实现IUserType的类:

public class StringToIntType : IUserType
    {
        /// <summary>
        /// mutable object = an object whose state CAN be modified after it is created
        /// </summary>
        public bool IsMutable
        {
            get { return false; }
        }

        public Type ReturnedType
        {
            get { return typeof(StringToIntType); }
        }

        public SqlType[] SqlTypes
        {
            get { return new[] { NHibernateUtil.String.SqlType }; }
        }

        public object NullSafeGet(IDataReader rs, string[] names, object owner)
        {
            var obj = NHibernateUtil.String.NullSafeGet(rs, names[0]);

            if (obj == null) return null;

            var …
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent usertype

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

所有线程一次只能在一个方法中?

我有几个继承自ClassA的对象,它有一个抽象方法MethodA.

这些继承对象中的每一个都可以同时允许特定数量的线程进入其MethodA.

catch:线程只能在对象的MethodA中,而没有其他对象的MethodA同时被处理.

我怎么解决这个问题?我正在考虑使用信号量,但不知道该怎么做,因为我无法完全解决问题以获得解决方案.

编辑:

示例代码(可能包含语法错误:)

public class ClassA
{
  public virtual void MethodA{}
}

public class OneOfMySubclassesOfClassA // there can be multiple instances of each subclass!
{
  public override void MethodA{

  // WHILE any number of threads are in here, THIS MethodA shall be the ONLY MethodA in the entire program to contain threads
  EDIT2: // I mean: ...ONLY MethodA of a subclass (not of a instance of a subclass) in the entire program...
}
}

...and more subclasses...
Run Code Online (Sandbox Code Playgroud)

c# multithreading semaphore locks

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

Eclipse生成的getter和setter没有封装

当我快速修复eclipse中的一个字段时,我可以为该字段生成一个getter和setter.这也使得字段私有并随后转换所有源文件中此字段的所有访问权以使用getter和setter.单个字段就是这种情况.

但是,如果我执行contextmenu> Source> Generate Getters and Setters ...(当您想要影响所有字段时使用的选项),它不会进行前面提到的更改,并且对源代码中的字段的所有访问都保持不变.

我忽略了什么吗?

java eclipse getter setter encapsulation

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

Eclipse会在按键时将所有更改还原为文件,撤消不可能?

不知怎的,我只是在eclipse(android开发)中按下了一些键或键组合,eclipse突然恢复了我正在处理的文件的先前版本.CTRL Z/Y无济于事.我是否必须再次对文件进行所有更改!

我可以做些什么?我不希望这种情况再发生.我怎么可能继续使用eclipse知道这可能会在某个时候再次发生.

谢谢,

eclipse file undo save revert

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

Cheerio:需要将 $ 与元素一起传递吗?

我有几个实用函数,可以对 Cheerio 对象进行操作。对于几乎每一个函数,我都必须将 $ 与元素本身一起传递。

例子:

function aUtilityFunc($, cheerioEl) { // <- $ in the params
    return cheerioEl.each(function (i, child) {
        // i do not want to do this:
        $(child).attr("something", $(child).attr("something") + "something");

        // i would rather do this and omit the $ in the params (like with global jquery doc):
        var $ = cheerioEl.$;
        $(child).attr("something", $(child).attr("something") + "something");
    });
}
Run Code Online (Sandbox Code Playgroud)

对于这个问题是否有一个优雅的解决方案,允许我只将 1 个参数传递给我的函数?(我并不是说将它们包装到对象文字中:>)。因为坦率地说,这种方式不太好(除非我忽略了某些事情)。

javascript function node.js cheerio

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