小编Vad*_*kov的帖子

创建将T限制为枚举的通用方法

我正在构建一个扩展Enum.Parse概念的函数

  • 允许在未找到枚举值的情况下解析默认值
  • 不区分大小写

所以我写了以下内容:

public static T GetEnumFromString<T>(string value, T defaultValue) where T : Enum
{
    if (string.IsNullOrEmpty(value)) return defaultValue;
    foreach (T item in Enum.GetValues(typeof(T)))
    {
        if (item.ToString().ToLower().Equals(value.Trim().ToLower())) return item;
    }
    return defaultValue;
}
Run Code Online (Sandbox Code Playgroud)

我得到一个Error Constraint不能是特殊类System.Enum.

很公平,但是有一个解决方法允许Generic Enum,或者我将不得不模仿该Parse函数并将类型作为属性传递,这会迫使您的代码出现丑陋的拳击要求.

编辑以下所有建议都非常感谢,谢谢.

已经解决了(我已离开循环以保持不区分大小写 - 我在解析XML时使用它)

public static class EnumUtils
{
    public static T ParseEnum<T>(string value, T defaultValue) where T : struct, IConvertible
    {
        if (!typeof(T).IsEnum) throw new ArgumentException("T must be an enumerated type");
        if (string.IsNullOrEmpty(value)) return …
Run Code Online (Sandbox Code Playgroud)

c# generics enums generic-constraints

1122
推荐指数
12
解决办法
33万
查看次数

使用CSS按比例调整图像大小?

有没有办法使用ONLY CSS按比例调整大小(缩小)图像?

我正在做JavaScript方式,但只是想看看CSS是否可行.

html css image-resizing

648
推荐指数
13
解决办法
141万
查看次数

如何让TextBox只接受WPF中的数字输入?

我想接受数字和小数点,但没有迹象.

我已经使用Windows窗体的NumericUpDown控件和Microsoft的NumericUpDown自定义控件示例查看了示例.但到目前为止,似乎NumericUpDown(WPF支持或不支持)不会提供我想要的功能.我的应用程序的设计方式,没有人在他们正确的头脑中想要弄乱箭头.在我的申请中,它们没有任何实际意义.

所以我正在寻找一种简单的方法来使标准的WPF TextBox只接受我想要的字符.这可能吗?这是实用的吗?

c# wpf xaml textbox numericupdown

317
推荐指数
17
解决办法
40万
查看次数

如何防止元素中的列中断?

请考虑以下HTML:

<div class='x'>
    <ul>
        <li>Number one</li>
        <li>Number two</li>
        <li>Number three</li>
        <li>Number four is a bit longer</li>
        <li>Number five</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

和以下CSS:

.x {
    -moz-column-count: 3;
    column-count: 3;
    width: 30em;
}
Run Code Online (Sandbox Code Playgroud)

目前,Firefox目前的渲染类似于以下内容:

• Number one    • Number three          bit longer
• Number two    • Number four is a    • Number five
Run Code Online (Sandbox Code Playgroud)

请注意,第四个项目在第二列和第三列之间分开.我该如何预防呢?

所需的渲染可能看起来更像:

• Number one    • Number four is a
• Number two      bit longer
• Number three  • Number five
Run Code Online (Sandbox Code Playgroud)

要么

• Number one    • Number three        • Number …
Run Code Online (Sandbox Code Playgroud)

html css css-multicolumn-layout

251
推荐指数
9
解决办法
15万
查看次数

滚动带有溢出内容的Flexbox

在此输入图像描述

这是我用来实现上述布局的代码:

.header {
  height: 50px;
}

.body {
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
}

.sidebar {
  width: 140px;
}

.main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1;
  display: flex;
}

.column {
  padding: 20px;
  border-right: 1px solid #999;
}
Run Code Online (Sandbox Code Playgroud)
<div class="header">Main header</div>
<div class="body">
  <div class="sidebar">Sidebar</div>

  <div class="main">
    <div class="page-header">Page Header. Content columns are below.</div>
    <div class="content">
      <div class="column">Column 1</div>
      <div class="column">Column 1</div>
      <div class="column">Column …
Run Code Online (Sandbox Code Playgroud)

css layout css3 multiple-columns flexbox

183
推荐指数
9
解决办法
24万
查看次数

拉伸背景图像css?

<td class="style1" align='center' height='35'>
  <div style='overflow: hidden; width: 230px;'>
    <a class='link' herf='' onclick='topic(<?=$key;?>)'>
      <span id='name<?=$key;?>'><?=$name;?></span>
    </a>
  </div>
</td>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS脚本

.style1 {
  background-image: url('http://localhost/msite/images/12.PNG');
  background-repeat: no-repeat;
  background-position: left center;
}
Run Code Online (Sandbox Code Playgroud)

我想伸展background-image整个<td>细胞

html css background

167
推荐指数
4
解决办法
27万
查看次数

如何在ASP.NET CORE中获取客户端IP地址?

你能否告诉我如何在使用MVC 6时在ASP.NET中获取客户端IP地址Request.ServerVariables["REMOTE_ADDR"]不起作用.

c# asp.net-core-mvc asp.net-core

166
推荐指数
13
解决办法
9万
查看次数

资源中的DisplayName属性?

我有一个本地化的应用程序,我想知道是否可以DisplayName从资源中设置某个模型属性.

我想做这样的事情:

public class MyModel {
  [Required]
  [DisplayName(Resources.Resources.labelForName)]
  public string name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是我不能这样,因为编译器说:"属性参数必须是常量表达式,typeof表达式或属性参数类型的数组创建表达式":(

有没有解决方法?我手动输出标签,但我需要这些用于验证器输出!

c# asp.net-mvc resources localization resx

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

删除Visual Studio 2017中的垂直虚线缩进线

我刚刚安装了Visual Studio 2017并在代码编辑器中得到了奇怪的垂直缩进标记.

在此输入图像描述

我该如何删除它们?

PS我禁用了所有扩展,但它没有帮助.

visual-studio visual-studio-2017

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

122
推荐指数
4
解决办法
12万
查看次数