小编tho*_*8wp的帖子

Snippet在VS2015中插入了额外的换行符

我已经制作了一个在Visual Studio中使用的自定义代码段.在VS2013中,它按预期工作,但自从在VS2015(社区版)中使用它以来,它一直在代码之前插入一个额外的换行符(当我按Tab键/第二次输入时).

这似乎只是自定义代码段的问题(内置的工作正常).有人知道是什么原因引起的吗?这很烦人.

作为旁注,只有在我在一行空代码上激活代码片段时才会发生这种情况.如果我在现有代码之后执行此操作,则不会插入换行符.不幸的是,该片段是一个声明,所以这没有多大帮助.

这是几乎完全从VS示例中复制的片段:

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
<CodeSnippet Format="1.0.0">

    <!-- The header contains information describing the snippet. -->
    <Header>

      <!-- The Title of the snippet, this will be shown in the snippets manager. -->
      <Title>Insert Field Add</Title>

      <!-- The description of the snippet. -->
      <Description>Inserts a basic field add for a DataObject</Description>

      <!-- The author of the snippet. -->
      <Author>Thomas Price</Author>

      <!-- The set of characters that must be keyed in to insert the snippet. --> …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio code-snippets visual-studio-2015

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

2个不同类的Java对象是否应该相等?

我正在尝试编写一些通用代码来定义基于字段列表的类相等和哈希码.在编写我的equals方法时,我想知道,基于Java约定,两个不同的对象是否应该是相同的.让我举几个例子;

class A {
  int foo;
}
class B {
  int foo;
}
class C extends A {
  int bar;
}
class D extends A {
  void doStuff() { }
}
...
A a = new A(); a.foo = 1;
B b = new B(); b.foo = 1;
C c = new C(); c.foo = 1; c.bar = 2;
D d = new D(); d.foo = 1;

a.equals(b); //Should return false, obviously
a.equals(c);
c.equals(a); //These two must be the same …
Run Code Online (Sandbox Code Playgroud)

java

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

注册特定子类的事件处理程序

好的,代码结构问题:

假设我有一个类,FruitManager它定期Fruit从某些数据源接收对象.我还有一些其他类需要在收到这些Fruit对象时得到通知.然而,每个类只对某些类型的水果感兴趣,并且每种水果对于如何处理它们具有不同的逻辑.比方说是CitrusLogic类有方法OnFruitReceived(Orange o)OnFruitReceived(Lemon l),在接收水果的各亚型时应该叫,但它并不需要通知其他水果.

有没有办法在C#中优雅地处理这个问题(可能是事件或代表)?显然我可以添加通用OnFruitReceived(Fruit f)事件处理程序,并使用if语句来过滤不需要的子类,但这看起来不太优雅.有没有人有更好的主意?谢谢!

编辑:我刚刚找到了通用代表,他们似乎是一个很好的解决方案.这听起来像是一个好方向吗?

.net c# events .net-2.0

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

C#等效的Java的GenericType <?>

我正在使用C#中的一些泛型.我有一个抽象的泛型类:

public abstract class BaseClass<T> where T : Foo { }
Run Code Online (Sandbox Code Playgroud)

并且当其他类从基类继承时指定type参数.

我也试图为另一个需要存储其中一个基类的抽象类编写一些代码,但它不知道基类的参数(并且它不需要知道).在Java中,我可以简单地写:

protected BaseClass<?> myBaseClass;
Run Code Online (Sandbox Code Playgroud)

但在C#中,我坚持要给它一个类型参数.如果我将其声明为:

protected BaseClass<Foo> myBaseClass;
Run Code Online (Sandbox Code Playgroud)

我无法为其分配任何参数化值BaseClass.

是否有解决方案来实现BaseClass<?>C#的效果?显然有一些方法可以重构我的代码以避免需要,例如参数化所有使用的类BaseClass,但这不太理想.任何帮助,将不胜感激!

c# generics

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

GWT Modlue重启导致内存不足错误

我正在开发一个GWT应用程序,我在eclipse中遇到了在开发模式下测试的问题.

当我更改客户端代码时,我刷新浏览器页面(F5)以重新加载模块.每次我这样做(代码是否已更改),eclipse中的"开发"选项卡显示"模块xxxx已加载"的新项目符号.同样,根据任务管理器,每次执行此操作时,javaw.exe主机进程会增加大约1MB的内存.最终(稍后刷新10-20次),页面无法加载,"开发模式"选项卡显示此错误:

Out of memory; to increase the amount of memory, use the -Xmx flag at startup (java -Xmx128M ...)

我可以通过停止并重新启动服务器来解决这个问题(不是开发者模式选项卡中的小刷新按钮,而是红色停止按钮),但是它必须重新验证模块,这需要一段时间.似乎eclipse没有意识到当我重新加载一个新模块时我已经完成了旧模块.我正在观察一个全新的GWT项目的相同行为,所以我不认为这是我的代码.有人知道如何解决这个问题吗?

编辑:请参阅下面的两个答案可能的解决方案.

gwt google-app-engine

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

如何为一组Java类分配唯一的有序ID

想象一下以下场景:

  • 我有一个基类,比方说Fruit,有许多子类,如苹果,橘子等.
  • 我还有一个Person类,里面有各种各样的水果.在这种情况下,我只关心这个人有多少种水果.将每片水果作为一个物体是没有意义的.
  • 我还应该能够从人的库存中删除一块水果,然后有一个实例化的对象.
  • Fruit应具有我可以分配的内在顺序,以便可以从多个类中以类似的方式列出它.苹果总是先去橘子等

当我在谈论人员库存中的水果时,我希望能够以静态的方式参考它.如在int n = person.getPiecesofFruit(Apple);.但是当我从一个人的库存中删除它时,我需要将水果作为一个对象,如同Apple a = person.removeOne(Apple);.

实现这一点的明显方法似乎是让Fruit的每个子类都有一个静态ID字段,所以我可以写 int n = person.getPiecesofFruit(Apple.ID);

这允许Person简单地包含一个整数数组,其中每个Fruit的ID对应于其计数所在的索引:

int[] fruitCounts = new int[Fruit.numberOfFruits()];

public int getPiecesOfFruit(int id) { return fruitCounts[id]; }
public int addFruit(int id, int count) { fruitCounts[id] += count; }
Run Code Online (Sandbox Code Playgroud)

问题是维护唯一的有序id(理想情况下,id应该是连续的).如果我删除了Orange课程,我是否必须重新分配所有其他Fruit的ID?或者,如果我在Apple和Orange之间插入Pear,我也有同样的问题.我可以使用链接列表方法,并且有Apple.ID = Orange.ID + 1;等等,这将保持秩序,除非我搞砸了,并使橘子和梨都偶然来到苹果之后.本质上,我想将Enum的有序列表功能与Class的继承和OO特性结合起来.有人可以告诉我,这是否通常可以实现.

我希望这个问题对SO来说不是太开放,但这是我在各种场景中遇到的问题,所以我希望有一个有点标准化的解决方案.

java

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