相关疑难解决方法(0)

不调用构造函数创建对象实例?

在C#中,有没有办法在不调用其构造函数的情况下实例化类的实例?

假设该类是公共的,并在第三方库中定义,构造函数是内部的.我想这样做的原因很复杂,但知道是否有可能使用某种C#hackery会很有帮助.

注意:我特别不想调用任何构造函数,因此使用反射访问内部构造函数不是一个选项.

c#

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

创建一个只能由我的程序使用的文件.我如何区别于其他程序的文件?

我使用创建我的文件File.WriteAllBytes().传递给的Byte [] File.WriteAllBytes()由我自己的算法加密.您需要在加密文件(程序用户知道密码)时使用的密码来解密它.但是当我的程序打开一些文件时File.ReadAllBytes(),有三种情况:

  1. 正在打开的文件是我程序的文件,用户知道打开它的密码.
  2. 正在打开的文件是我程序的文件,但是用户不知道打开它的密码.
  3. 正在打开的文件不是我程序的文件.

第一个很容易处理.第二个和第三个对我的程序是相同的,因为我的程序不知道某个随机文件的加密byte []和byte []之间的区别.

我如何区分这些情况?我想在将一些字节序列添加到byte []的结尾或开始之前将其传递给File.WriteAllBytes().这样安全吗?现代程序如何将文件与其他文件区分开来?

c# file-io file

5
推荐指数
1
解决办法
78
查看次数

Marshal.SizeOf计算大小错误

我有一个结构

 public struct SERVER_USB_DEVICE
        {
            USB_HWID usbHWID;
            byte status;
            bool bExcludeDevice;
            bool bSharedManually;
            ulong ulDeviceId;
            ulong ulClientAddr;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
            string usbDeviceDescr;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
            string locationInfo;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
            string nickName;
        }
Run Code Online (Sandbox Code Playgroud)

我得到了以下错误

System.ArgumentException未处理Message ="Type'SERVER_USB_DEVICE'无法编组为非托管结构;无法计算有意义的大小或偏移量."

在下面的行

Marshal.SizeOf(typeof(USBOverNetWrapper.FT_SERVER_USB_DEVICE));
Run Code Online (Sandbox Code Playgroud)

代码有什么问题?

阿卜杜勒·卡利克

c# structure sizeof marshalling

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

使用tagLib sharp library添加自定义标记

是否可以使用TagLib# libary 将自定义标签(例如"SongKey:Em")添加到mp3文件中?

c# mp3 taglib-sharp

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

C#字节数组未正确分配

奇怪问题的截图

我正在尝试在C#中序列化一个对象.我得到了对象大小并将其保存在上面屏幕截图中207行的变量size1中.Size1的值为160.然后我使用size1在第210行分配一个名为buf的字节数组.Buff出来是一个2字节的数组!怎么会这样?!

c# serialization allocation

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