标签: wrapper

C#包装到Cairo库

有没有人为开罗图书馆提供C#包装?我需要它用于在我的程序上呈现PDF文件预览(在Mono中的Windows和Mac中)?

c# wrapper cairo

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

加入2个课程 - 基本上

我有一个针对第三方WSDL的.NET Web服务参考.

在该引用中有2个类.基本上这两个类很可能是第三方API方面的接口,但在.NET中最终为2个代理类.

我需要将这两个类组合成一个类.为什么?因为这些是分裂的愚蠢,它们是允许我进行方法调用的服务.方法调用在这两个代理类之间分为一半和一半.

所以我想创建一个名为ThirdPartyService的自定义包装器类,并以某种方式基本上继承这些代理类的成员.我知道你可以在C#中继承2个类,但是我也看不到如何用接口做这个.

c# oop design-patterns adapter wrapper

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

系统调用包装器asm C.

有人可以向我解释这段代码吗?还请给我一些链接/ URL,我可以在这里了解更多信息?此代码用作包装器来覆盖库中的"extern int errno".有人可以解释我这个功能,并告诉为什么在一些系统调用中需要包装器?哪个也叫做WeakSYSCALLS?

#define ASM_ARGS_1      ASM_ARGS_0, "r" (_a1)
#define ASM_ARGS_2      ASM_ARGS_1, "r" (_a2)
#define ASM_ARGS_3      ASM_ARGS_2, "r" (_a3)
#define LOADREGS_5(a1, a2, a3, a4, a5)          \
register int _v1 asm ("v1") = (int) (a5);     \
LOADREGS_4 (a1, a2, a3, a4)

#define LOADREGS_6(a1, a2, a3, a4, a5, a6)      \

register int _v2 asm ("v2") = (int) (a6);     \

LOADREGS_5 (a1, a2, a3, a4, a5)

#define MYLIBC_SYSCALL(name, nargs, args...)               \
({                                                        \

    unsigned int retval;                              \

    {                                                 \

    register int _a1 asm …
Run Code Online (Sandbox Code Playgroud)

c assembly arm system-calls wrapper

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

从Interface <Type>到Interface <Subtype>的适配器

请考虑以下界面.

public interface Feed<T> {

    public void put( T o );

}
Run Code Online (Sandbox Code Playgroud)

我们有一个简单的Java类来实现这个接口,它将对象写入特定的集合.

public class CollectionFiller<T> implements Feed<T> {

    private final Collection<T> collection;

    private CollectionFiller( Collection<T> collection ) {
        this.collection = collection;
    }

    public void put( T o ) {
        this.collection.add( o );
    }

    public static <T> CollectionFiller<T> of( Collection<T> collection ) {
        return new CollectionFiller<T>( collection );
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我们定义两个虚拟类,以使问题具体化.

public class Super {}

public class Sub extends Super {}
Run Code Online (Sandbox Code Playgroud)

比方说,有一些方法writeSubsTo( Feed<Sub> f ),我们有一个实例cfCollectionFiller<Super> …

java generics casting wrapper

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

如何在java-objects上使用+ - */等操作

我需要编写一个java-class"Fraction".

这个类应该能够理解基本的算术运算,如+, - ,*,/.我找到了许多"分数"类并理解它们,但都使用类似" f1.add(f2); "的方法(f1,f2是Fraction的对象,例如:

f1 = new Fraction(1,5);
f2 = new Fraction(2,5);
Run Code Online (Sandbox Code Playgroud)

我需要的是直接操作,例如整数操作,例如:

**f1 = f1 + f2;**
Run Code Online (Sandbox Code Playgroud)

代替

f1.add(f2);
Run Code Online (Sandbox Code Playgroud)

java methods class wrapper fractions

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

Java中相同代码的不同输出

我是java的新手.我对包装类和原始数据类型有所了解,但我遇到的是令人惊讶的.在将变量i和j的值从1000更改为100时,输出将从false更改为true.我需要知道这背后的机制.

class Demo{
    public static void main(String[] args){
        Integer i=1000,j=1000;
        if(i==j)
            System.out.println("true");
        else
            System.out.println("false");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我"假",而..

class Demo{
    public static void main(String[] args){
        Integer i=100,j=100;
        if(i==j)
            System.out.println("true");
        else
            System.out.println("false");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给我"真实"

java wrapper

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

PInvoke签名与非托管目标签名不匹配

我正在尝试为modbusm.dll创建一个包装器C#文件(win-tech.com/html/mbusocx.htm),我正在使用dumpbin输出.

转储文件modbusm.dll

文件类型:DLL

该部分包含modbusm.dll的以下导出

00000000 characteristics
41128817 time date stamp Fri Aug 06 00:48:47 2004
    0.00 version
       1 ordinal base
      27 number of functions
      27 number of names

ordinal hint RVA      name

      1    0 000085BA _AbortTheCall@4
      2    1 00003441 _CloseConnection@4
      3    2 000033A7 _ConnectASCII@12
      4    3 000033E1 _ConnectDanielsASCII@12
      5    4 000033C4 _ConnectDanielsRTU@12
      6    5 0000338A _ConnectRTU@12
      7    6 00001019 _ConnectTCP2@12
      8    7 00001000 _ConnectTCP@8
      9    8 0000829A _DialCall@8
     10    9 00003376 _EnableConnectionCallback@4
     11    A 00003342 _EnableModbusCallback@8
     12    B 00008123 _GetCallState@8 …
Run Code Online (Sandbox Code Playgroud)

c# wrapper dumpbin modbus-tcp

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

"&"和std :: reference_wrapper之间的区别?

我有以下代码

#include <iostream>
#include <vector>
#include <functional>

int main() {
    std::vector<double> v(5, 10.3);
    std::vector<double>& r = v;
    //std::vector<std::reference_wrapper<double>> r(v.begin(),v.end());
    for (auto& i : v)
        i *= 3;
    for (auto i : r)
       std::cout << i << " ";
    std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用'&'运算符引用向量'r',在第二行中我注释了我使用的是C++的std :: reference_wrapper.两者都做同样的工作?但我认为即使我们有'&'来完成这项工作,也必须有一个制作std :: reference_wrapper的目的.有人可以解释一下吗?

reference wrapper c++11

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

如何构建一个优秀的Java GUI应用程序设计模式?

我想知道Java GUI面板编程的好方法.我主要关心的是方法,面板,标签,听众,初始化 - 在哪里?

我想把这些东西放在哪里,我怎么把它们放在面板和包装器之间(也许是控制器).

假设我必须使用包含一些按钮的MenuPanelWrapper编程MenuPanel等等.如何以最好的方式做到这一点?

java user-interface design-patterns panel wrapper

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

如何避免传递函数

我目前正在处理的一个类有一个定义各种函数的类型的成员.由于各种原因,我的类应该是这种类型的包装器(例如,使其成为线程安全的).无论如何,一些类型的函数可以通过,如下所示:

class MyClass {
  // ... some functions to work with member_

  /* Pass through clear() function of member_ */
  void clear() {
    member_.clear()
  }

private:
  WrappedType member_;
};
Run Code Online (Sandbox Code Playgroud)

这并不是那么糟糕,而且我还可以灵活地添加更多功能,MyClass::clear()以备不时之需.然而,如果我有一些这些传递函数,它会膨胀MyClass,对我来说会让它更难阅读.

所以我想知道是否有一个很好的单行方式(除了将上层定义写成一行)传递WrappedType的成员函数,就像使基类成员可用:

/* Pass through clear() in an easier and cleaner way */
using clear = member_.clear; // Unfortunately, this obviously doesn't compile
Run Code Online (Sandbox Code Playgroud)

c++ wrapper

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