标签: wrapper

Byte.decode("10")和Byte.valueOf("10") - 有什么区别?

Java 6 API原始类型包装器具有成对的静态方法decode(String s)和valueOf(String s).它们都返回一个包装类类型的新对象,并且它们都没有注释为已弃用.有人知道他们之间的区别吗?例如:

Byte b1 = Byte.decode("10");
Run Code Online (Sandbox Code Playgroud)

和

Byte b2 = Byte.valueOf("10");
Run Code Online (Sandbox Code Playgroud)

java wrapper

3
推荐指数
1
解决办法
6606
查看次数

C++/CLI/C#BadImageFormat加载表单时出现异常

我创建了一个C++/CLI程序集,它创建了一个围绕本机C++代码的包装器.当我将它作为资源添加时,资源编译和程序集加载到我的C#项目中.我可以从我的应用程序中访问我的对象和intellisense,但是在尝试构建时,它会崩溃并出现异常:

BadImageFormat

无法加载文件或程序集"MyCLI,Version = 1.0.3680.28432,Culture = neutral,PublicKeyToken = null"或其依赖项之一.尝试加载格式不正确的程序.

我将它加载到我的表单加载事件:

MyCLI.myCLI z;
Run Code Online (Sandbox Code Playgroud)

...当我编译时,它在我在C#中的主构造函数中的这一行崩溃

Application.Run(new Form1());
Run Code Online (Sandbox Code Playgroud)

有没有人知道可能导致此异常的原因?

谢谢

c# c++-cli wrapper

3
推荐指数
1
解决办法
2709
查看次数

C#数据库包装器设计

我正在为C#设计数据库包装器.以下是我的两个选项:

选项A:

class DBWrapper:IDisposable
{
     private SqlConnection sqlConn;

     public DBWrapper()
     {
            sqlConn = new SqlConnection("my connection string");
            sqlConn.Open();
     }

     public DataTable RunQuery(string Sql)
     {
              implementation......
     }

     public Dispose()
     {
            if(sqlConn != null)
                   sqlConn.Close();
     }
}
Run Code Online (Sandbox Code Playgroud)

选项B:

class DBWrapper
{
     public DBWrapper()
     {            
     }

     public DataTable RunQuery(string Sql)
     {
             SqlConnection sqlConn = new SqlConnection("my connection string");
             .....implementation......
             sqlConn.Close();               
     }   
}
Run Code Online (Sandbox Code Playgroud)

对于选项,在实例化类时打开连接.因此,无论调用者调用RunQuery多少次,连接始终都准备就绪.但是如果应用程序在应用程序的早期实例化DBWrapper,那么在应用程序完成之前,连接将被打开并且什么都不做.此外,它可以在执行期间实例化许多DBWrapper.所以,这有点浪费资源.

对于选项B,它没有选项A具有的问题,但每次调用者调用RunQuery时都必须打开和关闭新连接.我不确定它会对性能有多大影响.

请分享您的专长.谢谢你的阅读.

c# database design-patterns wrapper

3
推荐指数
1
解决办法
7924
查看次数

为你的IoC提供一个包装好主意吗?

我已经使用StructureMap超过一年了.而且这段时间我曾经有一个名为IoC的包装类,看起来像这样

class IoC {
    public static T GetInstance<T>()
    {
        return (T)GetInstance(typeof(T));
    }
    public static IEnumerable<T> GetAllInstances<T>()
    {
        return ObjectFactory.GetAllInstances<T>();
    }

    public static IEnumerable GetAllInstances(Type type)
    {
        return ObjectFactory.GetAllInstances(type);
    }

    public static object GetInstance(Type type)
    {
        return ObjectFactory.GetInstance(type);
    }

    public static void Inject<T>(T obj)
    {
        ObjectFactory.Inject(obj);
    }
}
Run Code Online (Sandbox Code Playgroud)

我添加了包装器,假设我可能想在某个时候更改IoC容器.此时我觉得这很糟糕.一个原因是:我不能在我的代码中使用ObjectFactory做其他有趣的事情,我必须使用这个包装器.另一件事是:我们的代码不应该真正独立于DependencyInjection容器.

使用这种方法的优点/缺点是什么?

structuremap abstraction dependency-injection ioc-container wrapper

3
推荐指数
1
解决办法
2300
查看次数

将本机c ++类导入CLI项目

我正在创建一个CLI项目来包装现有的本机c ++项目(同一个解决方案文件中的两个独立项目).我想在托管类中包含一个指向本机类的指针作为成员.从我在线阅读的文档中,如果托管代码和非托管代码在同一个项目中,则可以完成此操作.如果本机代码和托管代码位于不同的项目中,那么唯一的选择是在两个项目之间使用dllimport和dllexport属性,并将本机代码类函数导出为静态函数.

这些是我唯一的选择,还是可以在两个单独的项目之间导入和导出整个本机类?我问,因为这决定了我如何设计我的托管包装器.提前致谢.

mixed-mode c++-cli managed wrapper visual-c++

3
推荐指数
1
解决办法
1453
查看次数

包装对象

我有一个Object,它有一堆公共属性,没有getter和setter.坏!所以我创建了一个包含属性的类,并为它们创建了getter和setter.我的计划是将对象包装在我的类中,这意味着不能直接访问属性.我有点不确定如何做到这一点.我明白铸造很好.我怎么能用安全类用getter和setter包装这个类,并通过我的getter和setter访问属性?

java object wrapper word-wrap

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

使用removeFooterView()删除ListView页脚的问题

我试图删除我设置的页脚使用我用来设置它的相同参考.然而,没有任何反应.

protected void onPostExecute(ArrayList<Recipe> result) {

        int CHEF_ID = ChefsRecipeList.this.getIntent().getIntExtra("CHEF_ID", 0);

        ListView recipeListView = (ListView)findViewById(android.R.id.list);

        View footer = getLayoutInflater().inflate(R.layout.chef_recipe_list_footer, null);


        if(!addToExisting){

            RecipeManager.getInstance().setRecipeList(result);

            View header = getLayoutInflater().inflate(R.layout.chef_recipe_list_header, null);

            ImageView loadButton = (ImageView)footer.findViewById(R.id.loadmore);

            loadButton.setOnClickListener( new OnClickListener() {

                @Override
                public void onClick(View v) {

                    int CHEF_ID = ChefsRecipeList.this.getIntent().getIntExtra("CHEF_ID", 0);

                    try {

                        Log.d("NXTLAOD", "http://api.foodnetworkasia.com/api/mobile/get_recipes?chefId="+ChefManager.getInstance().getChef(CHEF_ID).getId()+
                        "&format=xml&startIndex="+(RecipeManager.getInstance().getRecipeList().size()+1)+"&endIndex="+(RecipeManager.getInstance().getRecipeList().size()+24));
                        new XMLRecipesParser(true).execute(new URL[] { new URL("http://api.foodnetworkasia.com/api/mobile/get_recipes?chefId="+ChefManager.getInstance().getChef(CHEF_ID).getId()+
                        "&format=xml&startIndex="+RecipeManager.getInstance().getRecipeList().size()+"&endIndex="+(RecipeManager.getInstance().getRecipeList().size()+24))  }  );

                    } catch (MalformedURLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                }
            });

            ImageView chefPhoto = (ImageView)header.findViewById(R.id.chef_photo);

            chefPhoto.setImageBitmap(ImageURLLoader.LoadImageFromURL(ChefManager.getInstance().getChef(CHEF_ID).getLargeURL()));

            TextView …
Run Code Online (Sandbox Code Playgroud)

android listview footer adapter wrapper

3
推荐指数
1
解决办法
6284
查看次数

Java方法重载

以下方法返回输出:在原始int arg方法中

  public class TestMethodOverloading {
          private void show(int a){
              System.out.println("in primitive int arg method");
          }
         private void show(float a){
            System.out.println("in primitive float arg method");
          }
         public static void main(String[] args) {
         TestMethodOverloading tmo = new TestMethodOverloading();
         tmo.show(4);
      }
  }
Run Code Online (Sandbox Code Playgroud)

然而,如果我将show方法的arguement类型从int更改为Integer,则输出返回为:in primitive float arg method

     public class TestMethodOverloading {
          private void show(Integer a){
                System.out.println("in Integer arg method");
          }
         private void show(float a){
            System.out.println("in primitive float arg method");
          }
         public static void main(String[] args) {
         TestMethodOverloading tmo = new TestMethodOverloading();
         tmo.show(4); …
Run Code Online (Sandbox Code Playgroud)

java primitive overloading wrapper

3
推荐指数
1
解决办法
302
查看次数

如何在C中合并Python库?

就像许多用C语言编写的库可以包含在Python中一样,有没有通用的方法可以做其他方法?

c python wrapper

3
推荐指数
1
解决办法
53
查看次数

构建LineageOS时出错:"make:***[ninja_wrapper] Error 1"

frameworks/av/camera/cameraserver/Android.mk:18: Target has integrated cameraserver into mediaserver. This is weakening security measures introduced in 7.0
find: ‘/home/xuanan/android/lineage/out/target/common/obj/SHARED_LIBRARIES/libwifi-hal-mock_intermediates’: No such file or directory
Starting build with ninja
ninja: Entering directory `.'
[  0% 14/48263] Lex: aidl <= system/tools/aidl/aidl_language_l.ll
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -o/home/xuanan/android/lineage/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll"
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
[  0% 14/48263] target Java: libprotob...tobuf-java-nano_intermediates/classes)
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[ …
Run Code Online (Sandbox Code Playgroud)

build wrapper android-source ninja

3
推荐指数
1
解决办法
5617
查看次数