Questions tagged «c#-4.0»

C#4.0引入了诸如动态对象,COM互操作性改进,通用协方差和反方差,可选参数和命名参数之类的功能。如果您的问题专门与C#4.0特定功能有关,请使用此标记。如果您的问题并非特定于C#4.0功能,则应使用C#标记。

5
如何在URL中编码加号(+)
下面的URL链接将打开一个新的Google邮件窗口。我的问题是Google用空格替换了电子邮件正文中的所有加号(+)。看起来它仅与+标志一起发生。我该如何补救?(我正在使用ASP.NET网页。) https://mail.google.com/mail?view=cm&tf=0&to=someemail@somedomain.com&su=some subject&body =你好那里+你好那里 (在正文电子邮件中,“嗨,你好,那里”将显示为“嗨,你好,那里”)

6
错误-与当前连接关联的事务已完成但尚未处理
我一直TransactionScope难以使用来将多个数据库查询包装到一个事务中,我正在将SqlBulkCopy使用批处理大小为500。当我将批处理大小增加到1000时,出现了错误: 与当前连接关联的事务已完成,但尚未处理。必须先处理事务,然后才能使用该连接执行SQL语句。 这是我正在使用的代码: using (var scope = new TransactionScope()) { using (var connection = (SqlConnection)customerTable.OpenConnection()) { var table1BulkCopy = new SqlBulkCopy(connection) { BatchSize = BATCH_SIZE, DestinationTableName = TableName1 }; table1BulkCopy.WriteToServer(table1DataTable); var table2BulkCopy = new SqlBulkCopy(connection) { BatchSize = BATCH_SIZE, DestinationTableName = TableName2 }; table2BulkCopy.WriteToServer(table2DataTable); var table3BulkCopy = new SqlBulkCopy(connection) { …

9
C#:动态运行时强制转换
我想用以下签名实现一个方法 dynamic Cast(object obj, Type castTo); 有人知道该怎么做吗?obj肯定实现了castTo,但是需要正确地进行强制转换才能使我的应用程序的某些运行时绑定工作解决。 编辑:如果某些答案没有意义,那是因为我最初不小心键入了dynamic Cast(dynamic obj, Type castTo);-我的意思是输入应该是object或其他保证的基类
74 c#  c#-4.0  casting 


6
ASP.NET MVC如何禁用自动缓存选项?
如何从ASP.NET MVC应用程序禁用自动浏览器缓存? 因为我在缓存时遇到问题,因为它缓存了所有链接。但是有时它会自动重定向到DEFAULT INDEX PAGE,并存储它的缓存,然后每次我单击该链接时,它都会将我重定向到DEFAULT INDEX PAGE。 因此,有人知道如何从ASP.NET MVC 4中手动禁用缓存选项吗?

7
C#为什么不推断我的泛型类型?
我在泛型方法中有很多有趣的乐趣(希望有乐趣)。在大多数情况下,C#类型推断足够聪明,可以找出必须在我的泛型方法上使用哪些泛型参数,但是现在我有了一个C#编译器不会成功的设计,而我相信它可以成功找到正确的类型。 谁能告诉我在这种情况下编译器是否有点笨,还是有一个很明确的原因为什么它不能推断我的通用参数? 这是代码: 类和接口定义: interface IQuery<TResult> { } interface IQueryProcessor { TResult Process<TQuery, TResult>(TQuery query) where TQuery : IQuery<TResult>; } class SomeQuery : IQuery<string> { } 一些无法编译的代码: class Test { void Test(IQueryProcessor p) { var query = new SomeQuery(); // Does not compile :-( p.Process(query); // Must explicitly write all …

5
是否可以从C#.Net调用C函数
我有一个C库,想从C#应用程序中调用此库中的函数。我尝试通过将C lib文件添加为链接器输入并将源文件添加为其他依赖项来在C lib上创建C ++ / CLI包装器。 有什么更好的方法可以实现这一点,因为不确定如何将C输出添加到c#应用程序中。 我的C代码- __declspec(dllexport) unsigned long ConnectSession(unsigned long handle, unsigned char * publicKey, unsigned char publicKeyLen); 我的CPP包装器- long MyClass::ConnectSessionWrapper(unsigned long handle, unsigned char * publicKey, unsigned char publicKeyLen) { return ConnectSession(handle, publicKey, publicKeyLen); }
70 c  c#-4.0  interop 

5
接口的可选参数
使用c#4.0-构建接口和实现该接口的类。我想在接口中声明一个可选参数,并将其反映在类中。因此,我有以下内容: public interface IFoo { void Bar(int i, int j=0); } public class Foo { void Bar(int i, int j=0) { // do stuff } } 这样可以编译,但是看起来不正确。接口需要具有可选参数,因为否则它将无法正确反映在接口方法签名中。 我应该跳过可选参数,而只使用可为空的类型吗?还是会按预期工作而没有副作用或后果?

4
在“长路径感知”环境中对PathRelativePathTo的参数的限制
对于Windows 10上的长路径感知过程,我试图了解使用Windows Shell方法PathRelativePathTo时的参数限制。 在下面的示例中,我通过pinvoke使用C#来调用该方法。 我在下面给出了多个示例及其输出。注意: 所有这些示例都为“ from”提供目录路径,为“ to”提供文件路径(这些路径实际上都不存在于磁盘上) 我的观察是 “短” MAX_PATH长度(260)以下的路径返回成功,并具有预期结果。 一些路径在 “短” MAX_PATH回报的成功与正确的结果。 一些路径在 “短” MAX_PATH回报的成功与错误的答案(哎呀!) 一些更长的路径返回错误。但是,它不是某个固定的最大长度。 资源: class Program { static class Native { // https://www.pinvoke.net/default.aspx/shlwapi.pathrelativepathto // https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-pathrelativepathtoa [DllImport("shlwapi.dll", SetLastError = true, CharSet = CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool PathRelativePathTo([Out] StringBuilder pszPath, [In] string pszFrom, [In] …
12 c#  .net  windows  c#-4.0  c#-3.0 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.