【从C#调用C模板函数】教程文章相关的互联网学习教程文章

c# – 使用参数中的匿名函数验证函数调用【代码】

我有一个类,一个服务和两个接口:public class MyBasicObject {public MyBasicObject() { }public int Id { get; set; } public string Name { get; set; } }public interface ICacheProvider {T Get<T>(string key, Func<T> fetcher) where T:class; }public interface IMyBasicObjectRepository {MyBasicObject GetByName(string name); }public class MyBasicObjectService {public MyBasicObjectService(ICacheProvider...

c# – Moq设置不适用于方法调用,后跟隐式转换【代码】

对于这个问题,考虑(创建)接口:public interface ITestMe {string TakeInt64(long x); }然后运行以下代码:public void Test() {var mock1 = new Mock<ITestMe>(MockBehavior.Strict);Expression<Func<ITestMe, string>> expr1 = x => x.TakeInt64(2);Console.WriteLine(expr1);mock1.Setup(expr1).Returns("OK");var s1 = mock1.Object.TakeInt64(2L); // OKvar mock2 = new Mock<ITestMe>(MockBehavior.Strict);Expression<Func<...

c# – 使用联合安全性保护服务器应用程序之间的WCF服务调用

我有两个使用相同STS进行身份验证的MVC站点.我需要创建一个WCF服务作为其中一个站点的一部分,允许其他站点检索数据. 这些站点可能位于可通过Internet访问的不同计算机上(尽管目前它们位于同一台计算机上),并且只能从客户端站点访问WCF服务.用于登录客户端站点的身份验证令牌应传递给WCF服务. 我一直在寻找可用的不同WS-Security选项(传输,消息等)并且它不是100%下沉,我觉得我最终会实现一些似乎安全但实际上并不安全的东西缺乏理解...

c# – 通过DllImport调用非托管函数时损坏的堆【代码】

我正在使用一个用C#C语言编写的非托管DLL.我有兴趣使用dll中的以下函数:static void StorePath(const std::string& path, wchar_t *out_path,int *out_path_length){wcslcpy(out_path, c_str_w(path), *out_path_length);*out_path_length = path.size();}int WINAPI BrowseForDirectory(int allow_portable, int allow_online,wchar_t *t_directory, int *e_directory_length,wchar_t *m_directory, int *m_directory_length){.....

动态组织和调用C#方法【代码】

相对较新的C#,寻找执行以下操作的“最佳实践”方式: 我有一个类(传感器)与公共方法,如“CommunicationStart”,“DoThing1”,“DoThing2”. 在调用这些方法之前,该类配置了传感器“Model” 基于该模型,公共方法应采用不同的代码路径.如果我要静态地执行此操作,则在每个公共方法中切换模型都可以解决问题. 我想动态地这样做以帮助长期支持.在每个公共方法中包装动态加载代码的“正确”方法是什么?反射?代表们?动态加载的函数应该...

c# – 为什么我在Unity3D的场景中从一个空的GameObject获得30个绘制调用?【代码】

首先,我在谈论SetPass调用,我理解这是调用调用. 我有一个空的GameObject,我在游戏中用作Camera目标.我将它定位在我的角色上方,当它达到x高度时,相机向上移动. 启用Camera目标后,我会收到大约60个SetPass调用.当我禁用它时,我大约30岁. 为什么这个简单的对象产生如此多的SetPass调用? 这是启用了空GameObject的屏幕截图: 这是没有启用GameObject的屏幕截图: 这是空的GameObject: 这是我引用空GameObject(cameraTarget)的地方: ...

c# – TPL异步等待 – 异步任务是否必须链接调用堆栈?【代码】

我的理解是,以下是不好的做法,因为它会阻塞线程:Task t = Task.Run(() => MyMethod()); t.Wait();虽然以下内容不会阻止该主题:await MyMethod();但是,要使用await,必须在方法签名中使用async关键字,并返回Task而不是void,或Task< T>. 但是,在n层应用程序中,如果你有一个巨大的调用堆栈,那么我们必须让每个调用方法都是async / Task,如LinqPad的以下简单示例所示:async void Main() {int i = await GetNumberD();i.Dump(); }asyn...

c# – 对REST服务的WebClient调用在控制台应用程序中有效,但在asp.net中无效【代码】

我正在调用一个测试REST Web服务,它基本上将一个字符串作为输入,并将其回送给调用者.我在C#控制台应用程序中有以下代码:static async Task RunAsync() {using (var client = new HttpClient()){string baseAddress = "http://74.120.219.166/Services/OnyxCloudSyncService.svc/pingSync";client.BaseAddress = new Uri(baseAddress); client.DefaultRequestHeaders.Accept.Clear();client.DefaultRequestHeaders.Accept.Add(newM...

c# – 从另一个Web api调用Web api【代码】

是否有可能制作一个称为另一个网络API的Web API? 我使用下面的代码从我的web api访问web api,但它永远不会从通话中返回.如果我使用控制台应用程序中的代码,它工作正常.public void DoStuff(){RunAsync().Wait(); }public static async Task RunAsync(){ using (var client = new HttpClient()) {client.BaseAddress = new Uri("http://localhost:53452/");client.DefaultRequestHeaders.Accept.Clear();client.DefaultRequestHead...

c# – 用于调用重载函数的通用T.【代码】

我想做这样的事情:public class Object1 {public int number{get;set;} } public class Object2 {public int number{get;set;} }public class Object3 {public int number{get;set;} }main();public void main(){var objects1 = new List<Object1>{new Object1{number=1} , new Object1{number=2}};test<Object1>(objects1); }public List<Object3> test<T>(IEnumerable<T> objs){var rv = new List<Object3>();foreach (var o ...

C# .NET UDP 形式调用 graylog,gelf【代码】

-- 发送:GelfLogModel m = new GelfLogModel();m.version = "1.1";m.host = "128.0.14.39";m.short_message = "异常"; //三个必须m.full_message = "full_message ,测试1";m.timestamp = MU.GetTimeStampTen();string json = JsonConvert.SerializeObject(m);IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("128.0.255.10"), 12201);Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType....

C#反射调用类的私有方法【图】

void Main() {var type = typeof(StockClass);type.Dump();var fields=type.GetFields(BindingFlags.Instance|BindingFlags.NonPublic).Dump("字段");var members = type.GetMethods().Dump("方法");//调用私有的构造函数,获得实例化对象object obj=type.GetConstructors(BindingFlags.Instance|BindingFlags.NonPublic)[0].Invoke(null);//获得私有方法var method = type.GetMethod("GetStr", BindingFlags.Instance | BindingFla...

在C#中调用值类型的方法时是否隐式完成了装箱?【代码】

参见英文答案 > Boxing and unboxing: when does it come up? 7个让我们说我做这样的事情:int x = 5; String s = x.ToString();来自Java,我会被认为正在对int值进行自动装箱,使其表现得像一个对象并在其上调用方法.但是我听说在C#中,一切都是对象,并且没有诸如Java“Integer”类型之类的东西.那么,变量是否被装箱到Object?或者可以直接从C#值类型调用方法吗?怎么样? C#int是一个像Java / C...

c# – 如何阻止ReSharper在指定的变量和链式方法调用之间插入不必要的换行符【代码】

我有一个类有一些返回它的方法,这样我可以将调用链接在一起:public class Person {public string FirstName { get; set; }public string LastName { get; set; }public Person WithFirstName(string firstName) {FirstName = firstName;return this;}public Person WithLastName(string lastName) {LastName = lastName;return this;} }但是,当我将足够的方法链接在一起使得ReSharper中的右边距(列)设置时,表达式的格式有点时髦.v...

c# – 从CRM沙盒插件调用WCF(使用生成的客户端)抛出System.Security.SecurityException

上下文 我正在使用生成的客户端从CRM插件调用WCF服务. (System.ServiceModel.ClientBase< T>)CRM插件必须在沙箱隔离模式下工作. WCF客户端是从纯wsdl和xsd生成的.它似乎正在使用Xml序列化,因此不涉及任何反射. 插件执行抛出:System.Security.SecurityException: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, 在堆栈跟踪中,它似乎来自WCF客户端实现的核心:Server stack trace:at Syste...