小编Sam*_*tar的帖子

如何同时声明和填充一个类

我有这样的代码:

public class test {
    public string aa { get; set; }
    public string bb { get; set; }
    public string cc { get; set; }
}

var a = new test {
    aa = "a",
    bb = "b"
}

var d = a;
d.cc = "c";
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让我创建 d 类并同时填充它。例如,最后两行可以合并为一行吗?请注意,我想避免使用构造函数执行此操作,因为有时我将填充除 cc 之外的不同字段。

请注意我的编辑

var d = a;
Run Code Online (Sandbox Code Playgroud)

c# c#-4.0

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

如何检查我的收藏中是否有符合条件的记录?

我有一个名为book的Book对象集合.Book类有一个名为Title的字段.

是否有一种简单的方法使用Linq(或其他)来查明该集合是否具有标题为"Harry"的Book对象?

c# linq

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

如何抛出异常并添加包含密钥和值的自己的消息?

我的方法看起来像这样:

public IDictionary<string, string> Delete(Account account)
{
    try { _accountRepository.Delete(account); }
    catch { _errors.Add("", "Error when deleting account"); }
    return _errors;
}

public IDictionary<string, string> ValidateNoDuplicate(Account ac)
{
    var accounts = GetAccounts(ac.PartitionKey);
    if (accounts.Any(b => b.Title.Equals(ac.Title) &&
                            !b.RowKey.Equals(ac.RowKey)))
        _errors.Add("Account.Title", "Duplicate");
    return _errors;
}
Run Code Online (Sandbox Code Playgroud)

我想更改此方法,以便它返回一个bool,因此如果有错误而不是:它会引发异常:

_errors.Add("", "Error when deleting account");
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释如何抛出异常并传递包含密钥和值的消息.在这种情况下,密钥将是"",值将是"Error when deleting account".

同样在调用它的方法中.我怎么能抓住这个例外?

我是否有必要创建自己的类并以某种方式基于此类抛出异常?

c# exception

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

我可以将我的异常代码移动到处理函数.所以我不必重复相同的代码

我目前正在处理我的异常:

try {

        }
        catch (ServiceException ex) {
            ModelState.Merge(ex.Errors);
        }
        catch (Exception e) {
            Trace.Write(e);
            ModelState.AddModelError("", "Database access error: " + e.Message);
        }
Run Code Online (Sandbox Code Playgroud)

这有效但是我重复了很多次的相同代码.我正在寻找的是关于如何将其转换为外部函数的一些建议.我不一定需要在那里移动try块,但至少需要移动其他代码.

也许是一个传递了Exception和ModelState的函数(作为参考).任何人都可以建议一个干净的方式,我可以编写这个功能.我在这里问,因为几乎总有人似乎想出了一个我从未想过的解决方案.谢谢萨曼莎.

c#

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

@ Html.ValidationSummary是否适用于MVC3或MVC4中的客户端验证?

我有以下代码:

@Html.ValidationSummary(false) 
@Html.ValidationSummary(true, "xxx")

@using (Ajax.BeginForm(
        action,
        "Menus",
        null,
        new AjaxOptions
        {
            UpdateTargetId = "update-message",
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "POST",
            OnSuccess = success
        }, new { @id = "menuForm" }))
{
    <dl>
    <dt>@Html.LabelFor(model => model.Order)</dt>
    <dd>@Html.TextBoxFor(model => model.Order)</dd>
    <dd>@Html.ValidationMessageFor(model => model.Order)</dd>
    </dl>
Run Code Online (Sandbox Code Playgroud)

当我输入订单值999时,我立即得到客户端验证,在订单文本框之后显示错误消息.但是,Html.ValidationSummary区域中没有显示任何内容.可以在客户端验证中使用它吗?

这是我的模型:

public class Menu
{
    [Range(0, 99, ErrorMessage = "{0} must be between {1} and {2}")]
    [DisplayName("Order")]
    public int Order { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的网页配置:

  <appSettings>
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

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

如何检查登录操作中是否存在用户?

我开始使用新的身份管理并且有一个简单的需求.当我的用户使用错误的名称登录时,它会报告密码错误.如何更改此设置以便它还使用dbcontext方法检查用户名是否存在?

    public ActionResult Login(LoginViewModel model, string returnUrl)
    {
        if (ModelState.IsValid)
        {
            // Validate the password
            IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe);
            if (result.Success)
            {
                return Redirect("~/home");
            }
            else
            {
                AddErrors(result);
            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc-5 asp.net-identity

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

在 LINQ 查询中 include 的顺序和 where 重要吗?

我有以下几点:

var objectives = _objectivesRepository
                .GetAll()
                .Where(o => o.ExamId == examId || examId == 0)
                .Include(o => o.ObjectiveDetails)
                .ToList();
Run Code Online (Sandbox Code Playgroud)

在之前的一篇文章中,一位用户说在 LINQ 查询中将 where 放在 include 之前很重要。

有人可以让我知道这是否正确吗?顺序重要吗?如果有很多 where 和 includes 呢?

c# linq

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

如何在不使用require.js的情况下启动模块后,如何将模块添加到我的应用程序中?

我的AngularJS应用程序有一个模块admin,我想让它只对Admin角色的人有用.在服务器上,我已将此模块的文件全部放在一个目录中,并且我将此web-config放在同一目录中.这是有效的,除非用户是管理员角色,否则他们无法下载javascript文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
      <security>
          <authorization>
              <remove users="*" roles="" verbs="" />
              <add accessType="Allow" roles="Admin" />
          </authorization>
      </security>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

所以我的服务器端解决方案似乎已经解决了.但是我完全不知道在客户端上做什么,如何下载脚本并在引导后将模块添加到我的应用程序中.这就是我所拥有的:

我使用web-config保护的admin目录中的文件如下所示:

admin.js

angular.module('admin', [])
Run Code Online (Sandbox Code Playgroud)

homeController.js

angular.module('admin')
        .controller('AdminHomeController', ['$http', '$q', '$resource', '$scope', '_o', adminHomeController]);

function adminHomeController($http, $q, $resource, $scope, _o) {
    ....
    ... 
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序级文件如下所示:

app.js

var app = angular
    .module('app',
        ['ui.router', 'admin', 'home',])
    .run(['$rootScope', '$state', '$stateParams', '$http', '$angularCacheFactory', appRun])

function appRun($rootScope, $state, $stateParams, $http, $angularCacheFactory) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
}
Run Code Online (Sandbox Code Playgroud)

app.config.js …

angularjs

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

如何在SQL Server抛出中创建连锁消息?

我有这个代码:

IF (@CurrentResult != 'N' AND @CurrentResult != 'F')
    THROW 50002, 'Question should be unmarked or incorrect', 1
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释我如何在我抛出的错误消息中给出@CurrentResult吗?

我想要的是消息显示如下:

Question result is 'X'. It should be unmarked or incorrect?
Run Code Online (Sandbox Code Playgroud)

其中X是@CurrentResult的值.

sql-server sql-server-2012

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

在 XF 中加载 svg 图像的 luberda-molinet/FFImageLoading 代码是否有任何替代方法

luberda-molinet/FFImageLoading 中的代码在大多数情况下对我来说效果很好,但我发现有时我的图像无法在 iOS 上正确加载。可能这也是 Android 上的一个问题,但我还没有研究过这个问题。下面是一个例子:

在此处输入图片说明

标题图标和语言图标背后的代码是相同的。要解决这个问题,我需要关闭应用程序并再次打开它,标题图标将正确显示,但另一个图标可能没有正确的高度。这是图标背后的代码:

    <Frame x:Name="SvgFrame"
           Grid.Column="0"
           VerticalOptions="Center"
           BackgroundColor="{Binding IconBackgroundColor,  Source={x:Reference this}}"
           CornerRadius="5"
           Padding="4" HasShadow="False">
            <ffimageloadingsvg:SvgCachedImage Source="{Binding IconSource, Source={x:Reference this}}" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
    </Frame>
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

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