草庐IT

代码雨

全部标签

c# - 为 .dll 生成初始化代码

我最近听说.dll可以在加载后立即运行代码,例如,当加载引用.dll的应用程序时。尽管我自己做了一些测试并尝试在这里和在Google上寻找答案,但我无法找到某种方法来为.dll生成初始化方法。我想知道当应用程序加载.dll时是否真的可以运行代码。如果可以,我该怎么做? 最佳答案 警告(感谢BenVoigt的捕获:)):下面的代码仅适用于C#保证生成的类不会是beforefieldinit。但是使用C++/CLI应该不会那么容易:ManagedC++StaticConstructornotcalledin.net4所以正如我的评论中所

c# - 运行所选代码生成器时出错 : 'Object reference not set to an instance of an object.' Error?

我已经尝试了所有解决方案,例如修复VS2013,但没有用。当您通过右键单击Controller文件夹创建Controller并添加Controller时,然后右键单击新创建的Controller的操作并选择添加View,当我尝试创建View时,它就发生了。这不是新项目,而是现有项目。 最佳答案 我在我的VS2017上遇到了这个问题,我通过这样做解决了它:转到C:\Users\username\AppData\Local\Microsoft\VisualStudio\15.0_7fca0c70,您将看到一个名为ComponentMod

c# - 使用 DbContext 和 TenantId 的 Multi-Tenancy - 拦截器、过滤器、EF 代码优先

我的组织需要共享数据库、共享架构Multi-Tenancy数据库。我们将根据TenantId进行查询。我们将拥有很少的租户(少于10个),并且所有租户都将共享相同的数据库模式,不支持特定于租户的更改或功能。租户元数据将存储在内存中,而不是数据库(静态成员)中。这意味着所有实体现在都需要一个TenantId,并且DbContext需要知道默认情况下对此进行过滤。TenantId可能由header值或原始域标识,除非有更可取的方法。我已经看到各种利用拦截器的示例,但还没有看到关于TenantId实现的明确示例。我们需要解决的问题:我们如何修改当前架构以支持此功能(我认为很简单,只需添加Te

c# - 在传递给非托管代码之前固定一个可更新的结构?

我使用一些旧的API,需要将结构的指针传递给异步运行的非托管代码。换句话说,在我将结构指针传递给非托管代码后,非托管代码复制该指针并立即返回。非托管代码可以在另一个线程的后台访问该结构。我无法控制在另一个线程中运行的非托管代码,也无法控制线程本身。固定的{}语句不能用于固定,因为它不是为异步非托管固定而设计的。GCHandle只能固定引用,因此必须对结构进行装箱才能使用GCHandle。我试过了,它有效。它的主要问题是您无法从托管代码更新结构。要更新结构,首先我们需要将其拆箱,然后更新,然后再次装箱,但是......哎呀......再次装箱?!?这意味着内存中的前一个指针仍然指向旧的非

c# - SharpSvn 和 C# 源代码示例

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion有人可以推荐一个寻找如何使用SharpSvn库的源代码示例的好地方吗?

c# - 如何在 Entity Framework 代码优先方法中映射自身的递归关系

我想要创建的只是基本的递归类别。如果RootCategory_Id设置为null,则类别为根;如果设置为某个id,则它属于其他某个类别。我在Seed()方法中添加了带有两个子类别的类别进行测试,但它不起作用。(后来查了DB,有插入)类别模型publicclassCategory{publicintID{get;set;}publicCategoryRootCategory{get;set;}//Thisoneworksgood,italsocreates"RootCategory_Id"indatabaseon"update-database"publicICollectionChil

c# - 如果存在两个具有相似 SSID 的 WiFi 网络,您如何在代码中区分两者?

这个问题在这里已经有了答案:GetBSSID(MACaddress)ofwirelessaccesspointfromC#(3个答案)关闭2年前。我正在编写一个小型网络管理工具。为了提取各种WiFi网络的详细信息,我正在调用wlanapi.dll,WlanGetProfile(...)API方法来获取每个可用WiFi网络的配置文件信息。假设两个本地WiFi网络具有相似的SSID,我如何在这两个网络上查询信息并在向用户呈现信息时区分两者?我正在用C#编写我的应用程序,但是,如果它们能给我所需的答案,则可以提供非特定于代码的一般详细信息。但是,我将其标记为C#/.Net,因为如果有办法使用

c# - 如何将管道代码注入(inject)/生成用属性装饰的方法?

我正在阅读一些关于缓存和记忆化以及如何使用委托(delegate)和泛型轻松实现它的文章。语法非常简单,而且实现起来非常容易,但我只是觉得由于重复性,应该可以根据属性生成代码,而不必一遍又一遍地编写相同的管道代码。假设我们从默认示例开始:classFoo{publicintFibonacci(intn){returnn>1?Fibonacci(n-1)+Fibonacci(n-2):n;}}然后记住这个://Let'ssaywehaveautilityclasssomewherewiththefollowingextensionmethod://publicstaticFuncMemo

c# - 帮助我理解 c# 中的代码片段

我正在阅读此博客:Pipesandfilterspattern我对这段代码感到困惑:publicclassPipeline{privatereadonlyList>operations=newList>();publicPipelineRegister(IOperationoperation){operations.Add(operation);returnthis;}publicvoidExecute(){IEnumerablecurrent=newList();foreach(IOperationoperationinoperations){current=operation.Ex

c# - 通过 T4 代码生成自动 INotifyPropertyChanged 实现?

我目前正在设置我的一个新项目,并且想知道我如何才能实现我的ViewModel类确实具有INotifyPropertyChanged支持,而不必自己手动编写所有属性。我研究了AOP框架,但我认为它们只会用另一个依赖项破坏我的项目。所以我考虑使用T4生成属性实现。设置是这样的:我有一个ViewModel类,它仅声明其属性背景变量,然后我使用T4从中生成属性实现。例如,这将是我的ViewModel:publicpartialclassViewModel{privatestringp_SomeProperty;}然后T4将遍历源文件并查找名为“p_”的成员声明并生成如下文件:publicpar