小编Thi*_*a H的帖子

如何在C#中将Object类型传递给Type参数

我有一个具有类型参数的函数.

public static object SetValuesToObject(Type tClass, DataRow dr)
{
   //
   .............
   //
   return object
} 
Run Code Online (Sandbox Code Playgroud)

我不知道如何传递一个类作为此函数的参数.在这里,我想通过参数类"产品".

我试过这个

 SetValuesToObject(Product,datarow);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我怎么能这样做?

c# parameters methods types

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

如何在WPF中对Editable ComboBox应用拼写检查

WPF附带一个内置的SpellCheck功能.SpellCheck被添加到TextBoxBaseobject,它textual input controls自动继承所有.因此,任何输入控件都将自动派生拼写检查功能.

但我正在寻找一个解决方案,设置拼写检查器,editable ComboBox而不是从TextBoxBase.Are 继承.有没有办法设置可编辑ComboBox控制器的拼写检查?

.net c# wpf combobox wpf-controls

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

使用regex + c限制邮件地址的最大长度#

我创建一个正则表达式来验证电子邮件地址这是我的正则表达式:

@"^\w+(\.?[-+\w])*@\w+([-.]\w+)*\.[a-zA-Z]{2,80}$"
Run Code Online (Sandbox Code Playgroud)

我想邮件地址的最大长度是80但是这个正则表达式我只限制了邮件的最后一部分.

现在

aaa@aa.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff is invalid
Run Code Online (Sandbox Code Playgroud)

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@aa.ffffffff is valid
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# regex

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

C#中的IIS7应用程序池

我有一个Web应用程序,它通过安装在每台PC上的IIS7本地托管.在Web应用程序中,管理员可以更改设置.其中一个设置包括App Pool IdleTimout.使用Microsoft.Web.Administration.dll引用,我可以告诉C#代码:(一个简短的例子)

ServerManager manager = new ServerManager();
manager.ApplicationPools["DefaultAppPool"].ProcessModel.IdleTimeout = new TimeSpan(0, 5, 0);
Run Code Online (Sandbox Code Playgroud)

在调试代码时,IdleTimeout显示的值为{00:05:00},根据上面的代码,该值应该是正确的.

但是,如果我在更新并保存此设置后进入IIS,并转到DefaultAppPool的高级设置部分,我看到超时仍设置为默认20.当我设置时,这应该在IIS中更改像我上面的变量?今天下午我一直在做很多谷歌搜索,但我似乎无法找到答案.希望我只是做错了什么.非常感谢任何见解!我的目标是能够在C#代码中设置DefaultAppPool的IdleTimeout.

c# iis iis-7

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

如何在没有代码隐藏文件的情况下移动无边界的wpf窗口

我正在创建一个带无边框窗口的WPF应用程序.应用MVVVM模式(在Caliburn.Micro的帮助下)我没有代码隐藏文件但只有一个XAML文件.

在几个帖子中我发现了以下解决方案

XAML:

<Window
   ...
   WindowStyle="None" MouseLeftButtonDown="WindowMouseLeftButtonDown"/>
Run Code Online (Sandbox Code Playgroud)

代码背后:

 private void WindowMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        DragMove();
    }
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找一种解决方案,在XAML中完全定义它.

任何的想法?

c# wpf xaml mvvm caliburn.micro

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

解决方法重载时有没有优先权?

为什么执行TestMethod<T>(params T[] input)方法而不是执行TestMethod(object input).我很困惑为什么编译器执行泛型方法.在.net框架上有任何优先级层次结构吗?

class TestClass
{
    static void Main()
    {
        TestMethod("Hello World");
    }

    static void TestMethod(object input)
    {
        Console.WriteLine("object");
    }

    static void TestMethod<T>(params T[] input)
    {
        Console.WriteLine("params T[]");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# generics overloading

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

将 IQueryable 转换为 IOrderedQueryable

我有 2 个表:Items 和 ItemMetrics。Items 包含我的项目,ItemMetrics 包含有关这些项目的统计信息。

我正在尝试按相应的统计权重对项目列表进行排序。我使用子查询让它工作,但我认为它有点低效并且可以优化......

items.OrderBy(item => (from metric in Context.ItemMetrics where item.ItemId == metric.ItemId select metric.Weight).FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)

......所以我试图使用连接来完成同样的事情......

from item in items join metric in ItemMetrics on item.ItemId equals metric.ItemId orderby metric.Weight select item;
Run Code Online (Sandbox Code Playgroud)

这在 LINQPad 中运行良好。我需要为一个补充方法返回一个 IOrderedQueryable 来使用 Skip 和 Take 进行一些分页,但是编译器告诉我这个查询的结果是一个 IQueryable。

我能想到的明确暗示 IOrderedQueryable 的唯一方法是将查询包装在

OrderBy(x => 0)
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c# linq join

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

如何在具有多个OR条件的if语句中识别哪个条件失败?

如何在具有多个OR条件的if语句中识别哪个条件失败.示例如下.

if ((null == emailNotificationData || string.IsNullOrEmpty(emailNotificationData.Sender))
                        || null == emailNotificationData.ToRecipients)
  {
    LogProvider.Log(typeof(Notification), LogLevel.Error, "Error sending the email notification 'Here i want to log failed argument'");
    return;
  }
Run Code Online (Sandbox Code Playgroud)

c#

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

将数据复制到表 A 到表 B (Is Identity == Yes)

我在 SQL Server 数据库中有两个几乎相同的表 A 和 B。

表 A 包含数据和主键 X 设置为Is Identity == No

表 B 不包含任何数据,但主键 X 设置为Is Identity == Yes( Identity Increment = 1, Identity Seed = 1)。

主键X中的数据递增1到100即表A有100条记录,第一条记录为1,第100条记录为100条。

如何以最简单的方式将数据从表 A 复制到表 B 而不会出错。

sql t-sql sql-server

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

WCF服务错误413实体太大

需要一些关于在哪里查看与WCF错误相关的一些信息我得到的请求实体太大(错误413).

实际上,该服务是一个简单的[OperationContract]接受字符串作为参数.

<IService.cs>
[OperationContract]
string UploadReportText(string ReportText);


<Service.cs>
public string UploadReportText(string ReportText)
{
  // Code to process data passed.
}
Run Code Online (Sandbox Code Playgroud)

我已经为服务设置了web配置,如下所示:

<bindings>
 <webHttpBinding>
    <binding maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="2147483647"
                    maxStringContentLength="2147483647"
                    maxArrayLength="2147483647"
                    maxBytesPerRead="2147483647"
                    maxNameTableCharCount="2147483647" />
   </binding>
 </webHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

虽然我认为不需要触及IIS中的uploadReadAhead值(因为我没有使用SSL),但我仍然将其修改为值2147483647.

跟踪其中一个在Chrome中调用该服务的应用,我可以看到数据Content-Length是169786.

真的难倒哪里看起来与此有关.

欣赏任何洞察力.谢谢

更新:附加信息如果我将传递给服务的字符串数据设置为较小的长度,我没有收到错误.我所做的大部分搜索都涉及到maxReceivedMessageSize需要调整到最大可能值,但在web配置中设置它似乎没有任何效果.

更新: 启用日志记录,我收到此消息:

例外细节: System.ServiceModel.ProtocolException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.

wcf

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

Linq不是数字c#

Model.GetData.Where(p => p.Value != null).ToList();
Run Code Online (Sandbox Code Playgroud)

我的数据库中有值,如下所示,

我的价值栏:

Null
Null
5
16
ExampleValue1
ExampleValue2
Run Code Online (Sandbox Code Playgroud)

p.value是字符串

我只想看"ExampleValue1"和"ExampleValue2".我怎样才能获得数据不为空而不是数字

c# linq entity-framework

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