我有一个包装器泛型类,旨在与一组类型一起使用.这些类型由实用程序生成,并且都是从基类ClientBase派生的.虽然ClientBase只有一个默认构造函数,但所有生成的类型都有默认构造函数,构造函数则将字符串作为参数.在包装器类的构造函数中,我使用带有字符串的构造函数实例化该类型的实例.这是一个示例代码:
public class ClientBase
{ }
public class GenericProxy<T>
where T: ClientBase, new()
{
T _proxy;
public GenericProxy(string configName)
{
_proxy = new T(configName);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码无法编译,因为不保证类型T具有接受字符串的构造函数.有没有办法在泛型类上定义约束来强制类型T必须有一个带字符串的构造函数?如果这是不可能的,那么处理这种情况的好方法是什么?
我正在编写一个应用程序来捕获相机预览帧并将其转换为Android中的位图.这是我的代码:
Camera.PreviewCallback previewCallback = new Camera.PreviewCallback()
{
public void onPreviewFrame(byte[] data, Camera camera)
{
try
{
BitmapFactory.Options opts = new BitmapFactory.Options();
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);//,opts);
}
catch(Exception e)
{
}
}
};
mCamera = Camera.open();
mCamera.setPreviewCallback(previewCallback);
Run Code Online (Sandbox Code Playgroud)
在我开始预览之后,使用数据调用回调,但位图为空.
将字节数组转换为BitMap时,我做错了什么?