标签: contract

是否应该允许在Java中将HashSet添加到自身?

根据Java in Set的合同,"不允许集合将自己包含为元素"(来源).但是,对于HashSet of Objects,这是可能的,如下所示:

Set<Object> mySet = new HashSet<>();
mySet.add(mySet);
assertThat(mySet.size(), equalTo(1));
Run Code Online (Sandbox Code Playgroud)

这个断言通过了,但我希望行为是将结果集合为0或抛出异常.我意识到HashSet的底层实现是一个HashMap,但似乎应该在添加元素之前进行相等检查以避免违反该合同,不是吗?

java collections set contract hashset

52
推荐指数
4
解决办法
3372
查看次数

根据其数据类型"clientcontracttype",该值无效

我收到一条错误消息:

合同属性无效.根据其数据类型'clientcontracttype',该值无效

以下是此WCF应用程序的web.config中的端点配置.我正在使用.NET Framework 4.5和Visual Studio 2012.我已经验证合同OnlineReporting.Core.Contracts.IReportingInternalWcfPortal已经存在.

<endpoint address="http://localhost:63817/ReportingInternalWcfPortal.svc" 
          binding="basicHttpBinding" 
          bindingConfiguration="BasicHttpBinding" 
          contract="OnlineReporting.Core.Contracts.IReportingInternalWcfPortal" 
          name="ReportingInternalPortal" />
Run Code Online (Sandbox Code Playgroud)

wcf contract endpoint

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

在WCF中,数据协定类可以相互继承吗?

在WCF服务中,我有两个具有[DataContract]属性的类.其中一个类与另一个类具有"is-a"关系 - 因此类B可以从类A继承.但是,当我在这两个类之间配置继承时,两者都用[DataContract]属性表示,元数据无法加载在测试服务时.

这可能在WCF中吗?我错过了另一个属性吗?

[DataContract]
public class A
{        
    [DataMember]
    public MyCustomType AValue1{ get; set; }

    [DataMember]
    public MyCustomType AValue2 { get; set; }
}

[DataContract]
public class B: A
{       
   [DataMember]
   public double BValue1{ get; set; }

   [DataMember]
   public double BValue2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

注意:还使用数据协定定义自定义类型.

更新:以下是错误:

错误:无法从http:// localhost:8002/GISDataServices/mex获取元数据如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布.有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档.WS- Metadata Exchange错误URI:http:// localhost:8002/GISDataServices/mex元数据包含无法解析的引用:' http:// localhost:8002/GISDataServices/mex '. __CODE__由于内部错误,服务器无法处理请求.有关错误的更多信息,请在服务器上启用IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute或来自<serviceDebug>配置行为),以便将异常信息发送回客户端,或者根据Microsoft .NET Framework打开跟踪3.0 SDK文档并检查服务器跟踪日志.HTTP GET错误URI:http:// localhost:8002/GISDataServices/mex 下载' http:// localhost:8002/GISDataServices/mex '时出错.请求失败,HTTP状态为400:错误请求. …

.net wcf contract

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

在Ruby中,C#中的接口相当于什么?

我目前正在尝试学习Ruby,并且我正在尝试更多地了解它在封装和合同方面提供的内容.

在C#中,可以使用接口定义合同.实现接口的类必须通过为每个定义的方法和属性(以及可能的其他内容)提供实现来满足合同中的条款.实现接口的单个​​类可以在合同定义的方法范围内执行任何需要,只要它接受相同类型的参数并返回相同类型的结果.

有没有办法在Ruby中强制执行此类操作?

谢谢

我在C#中的一个简单例子:

interface IConsole
{
    int MaxControllers {get;}
    void PlayGame(IGame game);
}

class Xbox360 : IConsole
{
   public int MaxControllers
   {
      get { return 4; }
   }

   public void PlayGame(IGame game)
   {
       InsertDisc(game);
       NavigateToMenuItem();
       Click();
   }
}

class NES : IConsole
{
    public int MaxControllers
    {
        get { return 2; }
    }

   public void PlayGame(IGame game)
   {
       InsertCartridge(game);
       TurnOn();
   }
}
Run Code Online (Sandbox Code Playgroud)

c# ruby interface contract equivalent

21
推荐指数
3
解决办法
6233
查看次数

接口契约,类对象?

接口作为对象的合同是否是类?

从代码到执行代码,区分相同的事情有什么需要?我有点想法将一个类命名为一个类,并将实例化的执行类命名为一个对象,但总的来说,这是这些半冗余项的唯一原因吗?

interface class object contract

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

是否有类似于坚固的东西

    struct buyer{
       uint amount;
       Status status;
    }

    mapping(address=>buyer) public buyers;
    mapping(uint=>address) buyerIndex;
    uint public buyerNum;
    //Order a product.
    function(){
      uint doubleValue=value*2;
      uint amount=msg.value/doubleValue; 
      if(buyers[msg.sender]==null){ //Error in this line
      buyer abuyer=buyer({amount:amount,status:Status.Created}); //Error in this line
      buyerNum++;
      buyerIndex[buyerNum]=msg.sender;
      buyers[msg.sender]=abuyer;
    }else{
      buyers[msg.sender].amount+=amount;
    }
      Order(msg.sender,amount*doubleValue,amount);

 }
Run Code Online (Sandbox Code Playgroud)

如果买方没有记录在买方映射中,那么buyerNum ++; 但我不知道如何判断买家是否在映射中

contract ethereum solidity

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

@Flow注释的含义

在Intellij IDEA 14中,有一项称为自动合同推理的功能[1].

推断的@Flow注释究竟是什么意思?

例如,对于Collection boolean addAll(Collection<? extends E> c),推断的合同是 boolean addAll(@NotNull @Flow Collection<? extends E> c).

@Flow在这种情况下意味着什么?

[1] http://blog.jetbrains.com/idea/2014/10/automatic-notnullnullablecontract-inference-in-intellij-idea-14/

java inference intellij-idea contract

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

为什么我的比较方法抛出异常 - 比较方法违反了它的一般合同!

为什么这个代码

public class SponsoredComparator implements Comparator<SRE> {

    public boolean equals(SRE arg0, SRE arg1){
        return arg0.getSponsored()==arg1.getSponsored();
    }

    public int compare(SRE object1, SRE object2) {
        Log.d("SponsoredComparator","object1.getName() == "+ object1.getName());
        Log.d("SponsoredComparator","object1.getSponsored() == "+ object1.getSponsored());
        Log.d("SponsoredComparator","object2.getName() == "+ object2.getName());
        Log.d("SponsoredComparator","object2.getSponsored() == "+ object2.getSponsored());
        Log.d("SponsoredComparator","compare return == "+ (object1.getSponsored() && object2.getSponsored() ? 0 : object1.getSponsored() ? -1 : 1));
        return object1.getSponsored() && object2.getSponsored() ? 0 : object1.getSponsored() ? -1 : 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

抛出此异常: ERROR/AndroidRuntime(244): java.lang.IllegalArgumentException: Comparison method violates its general contract!
ERROR/AndroidRuntime(4446): at java.util.TimSort.mergeLo(TimSort.java:743) …

java android contract comparator

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

智能合约在区块链中的位置(以太坊或Hyperledger)

那么,让我们考虑典型的贸易融资流程.导出器部署具有装运条件的合同,并在部署完成后生成散列.

问题:

1)合同在哪里存储?
2)海关和进口商等其他参与者如何获得此合同?
3)我们可以激活参与者级别对区块链合同的访问吗?

storage contract blockchain ethereum hyperledger

14
推荐指数
2
解决办法
6543
查看次数

在WCF Web编程模型中,如何使用查询字符串参数数组(即具有相同名称)编写操作契约?

使用WCF Web编程模型可以指定操作合同,如下所示:

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "SomeRequest?qs1={qs1}&qs2={qs2}")]
XElement SomeRequest1(string qs1, string qs2);
Run Code Online (Sandbox Code Playgroud)

现在,如果我们必须签订一个接受具有相同名称的参数数组(在这种情况下为qs1)的合同,那么......

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "SomeRequest?qs1={qs1}&qs1={qs2}")]
 XElement SomeRequest2(string qs1, string qs2);
Run Code Online (Sandbox Code Playgroud)

当我们调用方法时,我们在运行时收到错误消息:

查询字符串必须具有唯一名称的"name = value"对.请注意,名称不区分大小写.有关更多详细信息,请参阅UriTemplate的文档.

如何定义一个HTTP服务,该服务使用参数数组公开资源,而不需要使用loosey-goosey接口?

rest wcf web-services contract operation-contract

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