小编cat*_*ood的帖子

具有"具有属性X"约束的泛型函数?

我有一个第三方闭源应用程序,它导出一个COM接口,我通过Interop在我的C#.NET应用程序中使用它.此COM接口导出许多对象,这些对象都显示为System.Object,直到我将它们转换为适当的接口类型.我想分配所有这些对象的属性.从而:

foreach (object x in BigComInterface.Chickens)
{
    (x as Chicken).attribute = value;
}
foreach (object x in BigComInterface.Ducks)
{
    (x as Duck).attribute = value;
}
Run Code Online (Sandbox Code Playgroud)

但是分配属性很可能(由于特定于应用程序的原因,这是不可避免的)抛出我想要恢复的异常,所以我真的想要一个try/catch.从而:

foreach (object x in BigComInterface.Chickens)
{
    try
    {
        (x as Chicken).attribute = value;
    }
    catch (Exception ex)
    {
        // handle...
    }
}
foreach (object x in BigComInterface.Ducks)
{
    try
    {
        (x as Duck).attribute = value;
    }
    catch (Exception ex)
    {
        // handle...
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,这样做会更加清晰:

foreach (object x in BigComInterface.Chickens)
{
    SetAttribute<Chicken>(x as Chicken, …
Run Code Online (Sandbox Code Playgroud)

c# generics properties interface

16
推荐指数
2
解决办法
8402
查看次数

如何实现indexed []默认属性

我有一个类,它在TStringList中包含多个文件名.我可以使用索引访问特定的文件名:

myclass.stringlistclass[index]
Run Code Online (Sandbox Code Playgroud)

但是如何使用以下语法获取文件名?

myclass[index]
Run Code Online (Sandbox Code Playgroud)

我可以实现一个属性来实现这个功能吗?

delphi class

14
推荐指数
2
解决办法
8791
查看次数

任务自定义条件:给定文件是否存在?

我想做什么

我有一个任务要执行,只有在某个配置文件存在时才有意义。所以我想在该true文件存在时返回的任务上放置一个自定义条件。我想这样的语法是有意义的:

condition: exists('$(projectPath)\myconfigfile.xml')
Run Code Online (Sandbox Code Playgroud)

这似乎是自定义条件的合理用例。

什么 Microsoft 文档

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops#functions

微软表示以下功能始终可用:and, coalesce, contains, endsWith, eq, format, ge, gt, in, le, lt, ne, not, notIn, or, startsWith, xor. 此外:

“根据上下文,可能还有其他功能可用……”

我的实际问题

我觉得这有点令人沮丧。有哪些“其他功能”?我该如何研究它们?特别是,是否有一个文件名并告诉我该文件是否存在?

azure-devops

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

网站管理工具不使用ASP.NET MVC

我刚开始使用ASP.NET MVC,我正在尝试使用这种新架构进行身份验证.

所以,我开始在官方网站上关注一个教程,当我试图通过网站管理工具添加一些用户时,我发现了这个错误:

您选择的数据存储存在问题.这可能是由无效的服务器名称或凭据或权限不足引起的.它也可能是由未启用角色管理器功能引起的.单击下面的按钮可重定向到可以选择新数据存储的页面.

以下消息可能有助于诊断问题:无法加载类型"MyMvcApp.MvcApplication".

现在,我在web.config中唯一改变的是连接字符串,我确定连接字符串不是问题(我在其他项目中使用的是相同的).

编辑:这是连接字符串:"Data Source=myMachine\SqlExpress;Initial Catalog=TestDB;User ID=TestUser;Password=123456"

我尝试了很多东西并且搜索了很多内容,但没有任何效果.

那么,有什么想法吗?正如我所说,除了连接字符串之外,我没有更改web.config中的任何内容.

提前致谢,

asp.net-mvc wsat

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

如何传递对象类型以调用泛型方法

我的通用方法是这样的

public static class AppContainerInstaller
{
    public static IMessageHandler<T> Resolve<T>() 
    {
        return _container.Resolve<IMessageHandler<T>>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图从另一个类调用这个泛型方法

public static string ProcessMessage(IMessage message)
{
    messageHandler = AppContainerInstaller.Resolve<message.GetType()>();
    // THe previous line throws an error.
    return messageHandler.Handle(message);
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何将消息类型传递给泛型方法?

c# generics

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

如何限制C#中的CPU使用率

我正在制作一个C#程序.我的程序正在调用另一个程序.问题是我调用的程序占用了100%的CPU.所以我想将它限制在CPU使用率的恒定百分比.可能吗?怎么样?

c# cpu-usage

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

INSERT INTO ... SELECT ... FROM ...在哪里工作?

假设我有一个表中STUDENT的列,包括ID,name,email,和advisorID.我有第二个表格ADVISOR,其中包括IDname.STUDENT.AdvisorID是一把外键.插入学生时,必须有一个指向一个学生的键ADVISOR.

但是,从应用程序插入学生时,您只有一个ADVISOR名称.换句话说,您的字符串包含特定学生的姓名和电子邮件,以及顾问的姓名,但不包括顾问ID.

不知何故,我无法理解如何做到这一点.我知道这是一种常见的情况,我甚至在堆栈溢出时发现了一两个类似的问题.我知道我们正在谈论INSERT INTO ... SELECT ... FROM .. WHERE.我假设WHERE子句是advisor.name ='anAdvisorName',但我正在努力解决这样一个事实:插入的一些信息来自一个表,而另一些则不是.(关于这种陈述的讨论似乎集中在所有插入的数据来自第二个表的情况.这不是我所说的.)

ps为简单起见,请不要担心重复的条目,多个具有相同名称的顾问等.

mysql sql database sqlite

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

为什么这会忽略where子句?

为什么在此代码中忽略where子句?它似乎忽略了更新中的where子句,这意味着每个记录都已被写入.我怎样才能解决这个问题?任何帮助将不胜感激.

namespace ResitAssignment2
{
    public partial class HomeCareVisitEddit : Form
    {
        public HomeCareVisitEddit()
        {
            InitializeComponent();
        }

        private void SubmitHCVA_Click(object sender, EventArgs e)
        {
            SqlConnection a = Database.GetConnection();
            a.Open();

            string sqltext;
            sqltext = @"update HomeCareVisit set
             PatientNo=@PatientNo,
             FurtherVisitRequired=@FurtherVisitRequired,
             AdvisoryNotes=@AdvisoryNotes,
             Prescription=@Prescription,
             TreatmentProvided=@TreatmentProvided,
             ActualVisitDateTime=@ActualVisitDateTime,
             Priority=@Priority,
             ScheduledDateTime=@ScheduledDateTime,
             TreatmentInstructions=@TreatmentInstructions,
             MedicalStaffID=@MedicalStaffID
              WHERE
             VisitRefNo=VisitRefNo";

            SqlCommand command = new SqlCommand(sqltext, a);

            try
            {
                using (a)
                {
                    command.Parameters.AddWithValue("@PatientNo", PatientNo.Text);
                    command.Parameters.AddWithValue("@FurtherVisitRequired", FurtherVisitRequired.Text);
                    command.Parameters.AddWithValue("@AdvisoryNotes", AdvisoryNotes.Text);
                    command.Parameters.AddWithValue("@Prescription", Prescription.Text);
                    command.Parameters.AddWithValue("@TreatmentProvided", TreatmentProvided.Text);
                    command.Parameters.AddWithValue("@ActualVisitDateTime",SqlDbType.DateTime );
                    {
                        DateTime.Parse(ActualVisitDateTime.Text);
                    };
                    command.Parameters.AddWithValue("@Priority", Priority.Text);
                    command.Parameters.AddWithValue("@ScheduledDateTime",SqlDbType.DateTime );
                    {
                        DateTime.Parse(ScheduledDateTime.Text);
                    }; …
Run Code Online (Sandbox Code Playgroud)

c# sql ado.net

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

插入一个表,将ID插入第二个表

插入第一个表时是否可以填充第二个表?

将帖子插入table1 - > table 2列接收table1 post的唯一ID.

到目前为止我得到了什么,我是在正确的轨道上吗?

    CONSTRAINT [FK_dbo.Statistics_dbo.News_News_NewsID] FOREIGN KEY ([News_NewsID]) REFERENCES [dbo].[News] ([NewsID])
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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