小编Ice*_*ind的帖子

直接插入字节码

有没有办法将字节码直接动态插入到我的C#可执行文件中?我正在寻找类似于C++中的asm关键字的功能.显然我知道我不能插入x86汇编指令.我只能插入IL字节码.

.net c# reflection

4
推荐指数
1
解决办法
666
查看次数

C#编译为MSIL代码

Microsoft C#编译器(CSC.exe)是否有输出中间语言文件的选项?有点像GCC中的-S开关吗?

c# cil csc intermediate-language

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

计算两个日期之间的月数

我有以下VB.NET代码:

Dim Date1 As New DateTime(2010,5,6)
Dim Date2 As New DateTime(2009,10,12)
Dim NumOfMonths = 0 ' This is where I am stumped
Run Code Online (Sandbox Code Playgroud)

我想做的是找出两个日期之间有多少个月。任何帮助,将不胜感激。

.net vb.net datetime date

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

新的BigInteger

.NET 4.0现在有一个新的数据类型System.Numeric.BigInteger.根据我的理解,这可以容纳最多100万位的数字.可以对此数字执行简单的算术运算.我想知道微软是如何实现这样的,因为它显然会超过32位甚至64位.这怎么不溢出?

.net math .net-4.0

4
推荐指数
1
解决办法
267
查看次数

禁止WebBrowser控件中的“保存/打开”对话框

我有一个WebBrowser控件,该控件会自动将我登录到网站并尝试自动下载CSV数据。一切工作正常,除了尝试下载CSV数据时,它会弹出一个对话框,询问我是否要保存文件或打开文件(就像在IE中一样)。我想做的是将CSV文件自动下载到我选择的文件中(或者更好的是,将CSV文件直接保存到字符串变量中)。我似乎无法弄清楚如何隐藏该对话框并自动捕获下载内容。我搜索并找到了一些解决方案,但是,它们对我不起作用,因为:

1)我现在正在使用GUI。所有这些都是在类中完成的(因此,诸如SendKeys之类的方法将不是可行的解决方案)

2)下载来自安全站点,需要身份验证。WebBrowser控件为我处理了所有这些操作,但是如果我使用WebRequest和WebResponse尝试捕获下载,则不再经过身份验证。

我正在使用C#。任何帮助,将不胜感激。

.net c# browser webbrowser-control

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

将TrackBar控件添加到ContextMenu

是否可以将TrackBar控件添加到ContextMenu?因此,当我右键单击时,我的ContextMenu将下拉并且TrackBar将显示为菜单项?

c# contextmenu trackbar winforms

4
推荐指数
1
解决办法
4599
查看次数

移动图形Path对象

特别是在Java,Android中,如何将Path对象转换为100个像素?就像在C#中一样,我会使用以下代码来执行此操作:

// Create a path and add and ellipse.
GraphicsPath myPath = new GraphicsPath();
myPath.AddEllipse(0, 0, 100, 200);

// Draw the starting position to screen.
e.Graphics.DrawPath(Pens.Black, myPath);

// Move the ellipse 100 points to the right.
Matrix translateMatrix = new Matrix();
translateMatrix.Translate(100, 0);
myPath.Transform(translateMatrix);

// Draw the transformed ellipse to the screen.
e.Graphics.DrawPath(new Pen(Color.Red, 2), myPath);
Run Code Online (Sandbox Code Playgroud)

我如何在Android中执行此操作?我已经有了Path对象:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint pnt = new Paint();
    Path p = new Path();    

    pnt.setStyle(Paint.Style.STROKE);
    pnt.setColor(Color.WHITE);

    p.moveTo(97.4f, 87.6f);
    p.lineTo(97.4f, 3.8f); …
Run Code Online (Sandbox Code Playgroud)

java android path matrix

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

找不到路径'C:\\ Windows \\ System32 \\ oobe \\ info \\ Backgrounds的一部分

我试图在C:\ Windows\System32\oobe\info\Backgrounds下列出Windows 7上的所有文件,方法是调用以下内容:

const string logonScreenBackgroundPath = "C:\\Windows\\System32\\oobe\\info\\Backgrounds";
DirectoryInfo dInfo = new DirectoryInfo(logonScreenBackgroundPath);
string[] backgroundFiles = Directory.GetFiles(logonScreenBackgroundPath);
Run Code Online (Sandbox Code Playgroud)

但是我在GetFiles调用上遇到异常:找不到路径'C:\ Windows\System32\oobe\info\Backgrounds的一部分

我验证了文件夹存在并且有文件,我在命令提示符下cd,它一切都很好,但c#调用失败.

在C:\ Windows\System32\oobe \上调用GetFiles可以正常工作.文件夹属性在\ oobe和\ info之间没有什么不同.

经过进一步调查后,这看起来像64位问题.当我为"AnyCpu"构建项目时,找到了没有问题的文件夹.问题是我的项目必须为x86编译,而不是由于依赖项而编译AnyCpu.

解决方案:看起来这是一个已知问题,MS已经为它发布了一个修补程序.问题是由于文件系统重定向.

我现在使用以下命令禁用调用线程上的重定向:

[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool Wow64DisableWow64FsRedirection(ref IntPtr ptr);

IntPtr ptr = new IntPtr();
bool isWow64FsRedirectionDisabled = Wow64DisableWow64FsRedirection(ref ptr);
Run Code Online (Sandbox Code Playgroud)

.net c# windows-7

4
推荐指数
1
解决办法
6060
查看次数

在WPF中的MediaElement顶部呈现按钮

我的XAML中有一个MediaElement对象,可以很好地加载我的电影.我想要做的是在MediaElement对象的中心渲染播放,暂停和停止按钮,就像在网页上嵌入YouTube视频一样,您可以在视频中心获得大播放按钮.我可以使用MediaElement在WPF中执行此操作吗?

c# wpf mediaelement

4
推荐指数
1
解决办法
4181
查看次数

什么是Noda Time 2.0相当于MapTimeZoneId?

我一直在使用以下代码而没有缺陷:

internal static string WindowsToIana(string windowsZoneId)
{
    if (windowsZoneId.Equals("UTC", StringComparison.Ordinal))
        return "Etc/UTC";

    var tzdbSource = NodaTime.TimeZones.TzdbDateTimeZoneSource.Default;
    var tzi = TimeZoneInfo.FindSystemTimeZoneById(windowsZoneId);
    if (tzi == null) return null;
    var tzid = tzdbSource.MapTimeZoneId(tzi);
    if (tzid == null) return null;
    return tzdbSource.CanonicalIdMap[tzid];
}
Run Code Online (Sandbox Code Playgroud)

将NodaTime升级到2.0版时,我现在得到一个编译时错误,说MapTimeZoneId不再存在.如何让这个功能再次运行?

c# nodatime

4
推荐指数
1
解决办法
911
查看次数