小编pko*_*iej的帖子

什么是对象图,我如何序列化一个

我最近一直在阅读有关序列化的内容.我已经读过,当我使用XmlSerialization时,我无法序列化对象图.什么是对象图以及为什么我不能简单地序列化它?

.net serialization xml-serialization

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

IEnumerable <T>提供了两个GetEnumerator方法 - 它们之间有什么区别?

当我实现IEnumerable<T>界面时,我看到两个GetEnumerator方法:一个返回IEnumerator和另一个IEnumerator<T>.我何时会使用其中一种?

ienumerable ienumerator

9
推荐指数
3
解决办法
5347
查看次数

DllImport - PreserverSig和SetLastError属性

在MSDN上,我找到了以下两个属性的描述:

PreserveSig将PreserveSig字段设置为true,以使用HRESULT或retval值直接转换非托管签名; 将其设置为false以自动将HRESULT或retval值转换为异常.默认情况下,PreserveSig字段为true.

SetLastError使调用者能够使用Marshal.GetLastWin32Error API函数来确定执行方法时是否发生错误.在Visual Basic中,默认值为true(这会增加一些开销); 在C#和C++中,默认值为false.

我的问题是:这两者如何相互关联?假设我将PreserveSig设置为'false' - 这意味着我应该将HRESULT转换为异常 - 如果非托管函数返回指示错误或没有错误发生的整数,那么如何将其转换为异常?

另外,为什么我需要调用GetLastWin32Error方法,如果我以某种方式设法使用PreserveSig提取异常?

亲切的问候PK

interop dllimport

9
推荐指数
1
解决办法
3341
查看次数

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

Visual Studio设置文件 - 它是如何工作的?

我不明白以下事项:

  1. app.config(applicationname.exe.config)和设置文件有什么区别?
  2. 我无法在特定帐户下的Windows7 AppData目录中找到*.settings文件(我听说它应该位于那边的某个地方)?
  3. 我们假设*.settings文件位于硬盘驱动器上的某个位置.为什么在开发时将设置文件中的数据复制到应用程序配置文件?

亲切的问候PK

.net settings visual-studio-2008 visual-studio

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

集会证据

以下代码的目的是什么?:

object[] hostEvidence = {new Zone(SecurityZone.Internet)}; 
Evidence internetEvidence = new Evidence(hostEvidence, null);
AppDomain myDomain = AppDomain.CreateDomain("MyDomain");
myDomain.ExecuteAssembly("SecondAssembly.exe", internetEvidence);
Run Code Online (Sandbox Code Playgroud)

据我所知CLR 自动(它向Windows询问)根据程序集的运行位置(本地机器,因特网等)分配区域.我猜这是为了减少程序集的权限,但是当我们有两个证据时,我们还有两个代码组,它们在给定的策略级别内求和.

亲切的问候PK

.net security code-access-security

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

发送文件时的ASP.NET文件名编码

我正在从ASP.NET页面向浏览器发送文件.要正确发送文件名,我要添加标题:

Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Run Code Online (Sandbox Code Playgroud)

问题是当文件包含空格(例如"abc def")时,浏览器只接收文件名的"abc"部分.我试过:Server.HtmlEncode但它没有帮助.

你知道如何解决这个问题吗?

PK

asp.net encoding

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

List <Rectangle> - 表现得像拳击一样

我们都知道泛型List <>没有框值类型.为什么在以下代码片段中,rects [1]不受Inflate方法的影响?

如果没有拳击,我想要改变rect [1]我需要编写三行代码,如图所示 - 评论.有人可以解释一下吗?

List<Rectangle> rects = new List<Rectangle>();

for (int i = 0; i < 5; i++)
{
    rects.Add(new Rectangle(1, 1, 1, 1));
}

foreach (Rectangle item in rects)
{
    Console.WriteLine(item);
}

//Rectangle r = rects[1];
//r.Inflate(100, 100);
//rects[1] = r;

rects[1].Inflate(100, 100);

foreach (Rectangle item in rects)
{
    Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)

c# list value-type

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

Visual SVN Server - 项目存储位置

我最近安装了Visual SVN Server.我将Repository放在D:\ Repositories上,并通过一些项目添加到Repository.Visual Studio 2008.

与我的项目相比,D:\ Repositories\reponame似乎有点小.

我需要确保项目的存储位置,以便在我的服务器上重新安装系统时进行备份.任何帮助都将不胜感激.

svn visualsvn visualsvn-server visual-studio-2008

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

控制台应用问题

我正在徘徊为什么当我创建控制台应用程序并"转换"主要方法与创建Windows窗体项目时自动生成的main方法相同时,控制台仍然出现在屏幕上:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Globalization;
using System.Windows.Forms;

namespace Chapter16
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new CultureTest());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码与位于Windows窗体应用程序的Program.cs中的代码相同.问题是控制台仍然出现在屏幕上,而Windows窗体项目则不然.这是为什么?

善良的Regadrs PK

.net c# console-application

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

Windows用户域帐户问题

我有一个关于域帐户的问题.我有一个域控制器,其中存储了所有用户信息.我已经在我的笔记本电脑上加入了域名,但我发现即使域名控制器关闭,我也可以使用域名凭据登录.这怎么可能?

亲切的问候PK

windows active-directory

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