小编Lon*_*kli的帖子

System.NotSupportedException:不支持“System.DateOnly”实例的序列化和反序列化

我正在使用 .NET 6、ASP.NET Core Web API 6。

在此输入图像描述

数据库 PostgreSQL 15。

DROP TABLE IF EXISTS account_object;
CREATE TABLE account_object
(
    id                             uuid DEFAULT uuid_generate_v4 () 
    birth_date                     date,
   
    created                        timestamp with time zone     not null,
    tenant_id                      character varying(36)
);
Run Code Online (Sandbox Code Playgroud)

模型

using System;
using System.Collections.Generic;

namespace acc.Models
{
   
    public partial class AccountObject
    {
        public Guid Id { get; set; }
     
     
        public DateOnly? BirthDate { get; set; }
       
        public DateTime Created { get; set; }
        public string? TenantId { get; set; }        
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# swagger asp.net-core

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

SVN:类似于hg的addremove

我们有一个包含多个文件的存储库(没有文件夹).每个构建时间我们必须从另一个源(db)下载相同的文件夹,然后提交到SVN更改 - 更新现有,删除不存在并添加新文件.

所以想法是在每次构建时在SVN中"复制"db的脚本(这就是使用MSBuild的原因)

问题是我不知道hgaddremove的模拟- 它会自动同步两个文件夹.

有谁知道如何模拟addremove

svn version-control mercurial

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

当静态构造函数/类型初始化程序失败时,来自GC线程的未处理异常

(标题是:"TypeLoadException并不总是包含在使用了Reflection的TargetInvocationException中")

使用BLToolkit我发现了一个有趣的事实 - methodInfo.Invoke并不总是在调用方法中捕获异常.

参见示例 - 它在方法的静态构造函数中模拟异常,通过反射调用.

问题是TestComponent继承自Component AND并重写了Dispose方法.所以在这个示例中将有2条消息 - 一个"句柄"和一个"unhandle" - 似乎组件在较低级别的Reflection内部具有不同的处理.

如果我们注释掉方法Dispose(bool disposing) - 我们只会收到"handle"消息.

任何人都可以解释为什么会发生并提出解决方案?BLToolkit中的try-catch无法标记为答案 - 我不是他们团队的成员:)

    class Program
{
    static void Main()
    {
        AppDomain.CurrentDomain.UnhandledException +=
            (sender, eventArgs) => Console.WriteLine("unHandled " + eventArgs.ExceptionObject.GetType().FullName);
        try
        {
            try
            {
                var instance = Activator.CreateInstance(typeof(ComponentExecutor));
                MethodInfo mi = typeof(ComponentExecutor).GetMethod("Do");
                BindingFlags bf = BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly |
                                  BindingFlags.InvokeMethod;

                mi.Invoke(instance, bf, null, new object[0], CultureInfo.InvariantCulture);
            }
            catch (TargetInvocationException tarEx)
            {
                throw tarEx.InnerException;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("Handled " …
Run Code Online (Sandbox Code Playgroud)

c# garbage-collection

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

以百分比形式显示浮点数而不更改数字的值

是否可以指定string.Format()参数来添加百分比符号而不更改数字的值?

示例:
我们有数字44.36,我们希望在网格中显示并输出到Excel "44.36%".将值除以100然后应用"P"格式不是一种选择.在这种情况下无法更改值,我们只需要通过更改DisplayFormat值来完成.使用string.Format("{0}%", valueParam)也不是一种选择.

.net c# string-formatting

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

是否每次都要求MEF导出缓存或发现?

如果我有一个类型MyClass,请注册

[Export(typeof(Myclass))] 属性,和

[PartCreationPolicy(CreationPolicy.Shared)]

要么

[PartCreationPolicy(CreationPolicy.NonShared)]

然后试着打电话

compositionContainer.GetExportedValue<Myclass>() 多次.

问题:通过第一次通话,我将通过MEF获取我的注册课程 - llokup所有已注册的程序集,然后尝试查找一个已注册的合同.问题是关于第二次等等 - MEF会再次进行全局查询还是在内部缓存?

.net c# wpf mef

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

在 .NET Core 6 API 中记录自动 HTTP 400 响应

[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
[ProducesResponseType(StatusCodes.Status303SeeOther)]
[HttpPost]
[Route("RegisterUsers")]
public async Task<ActionResult<List<UsersInfo>>> RegisterUsers(List<UsersInfo> Users)
{
    // .. how to detect errors here ...
    return Users;
}
 
Run Code Online (Sandbox Code Playgroud)

特别是当 API 收到正文中 UserInfo 类型的错误格式时,我如何在此处出现错误?

在用户信息类型错误的情况下,该方法实现永远不会运行。

.net c# .net-core asp.net-core-webapi

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

如何更改ComboBox的选定项目的ForeColor?

是否可以更改所选(不是下拉!)项目的外观?

combobox.ForeColor仅将所有项目的文本颜色更改为下拉列表.

编辑: 变种是beelow,我们是

 public static void CBoxDrawItem(object sender, DrawItemEventArgs args)
    {
        var box = sender as ComboBox;
        if (box == null || args.Index < 0 || args.Index >= box.Items.Count)
            return;

        e.DrawBackground();
        var data = box.Tag as ControlData;
        var color = (args.State & DrawItemState.ComboBoxEdit) == 0 || data == null || !data.IsInDefaultState
            ? e.ForeColor : GetDefaultColor(e.ForeColor);
        using (var brush = new SolidBrush(color))
        {
            args.Graphics.DrawString(box.Items[args.Index].ToString(), args.Font, brush, args.Bounds.X, args.Bounds.Y);
        }
        args.DrawFocusRectangle();
    }
Run Code Online (Sandbox Code Playgroud)

c# combobox .net-4.0 winforms

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