В нашем проекте в нескольких местах мы используем System.Web.Mvc.MvcHtmlString
. После того, как я добавил ссылку на ServiceStack сборки я получил ошибку компиляции:Почему ServiceStack MvcHtmlString не имеет пространства имен
Cannot convert expression type System.Web.Mvc.MvcHtmlString to return type MvcHtmlString
Столкновения между System.Web.Mvc.MvcHtmlString
и MvcHtmlString
в ServiceStack. В ServiceStack этот класс не имеет пространства имен, как вы можете видеть в нижеследующем коде или на github
Есть ли веская причина для этого? Неужели этот класс находится в пространстве имен ServiceStack.Html? Пространство имен было удалено в last commit.
Есть ли способ обхода? Я должен был префикс всех вхождений MvcHtmlString
с префиксом пространства имен System.Web.Mvc
.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Web;
public sealed class MvcHtmlString : HtmlString
{
private readonly string _value;
public MvcHtmlString(string value)
: base(value ?? String.Empty)
{
_value = value ?? String.Empty;
}
[SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "MvcHtmlString is immutable")]
public static readonly MvcHtmlString Empty = Create(String.Empty);
public static MvcHtmlString Create(string value)
{
return new MvcHtmlString(value);
}
public static bool IsNullOrEmpty(MvcHtmlString value)
{
return (value == null || value._value.Length == 0);
}
}
это звучит как-то, на что вы должны быть обращены на сайте кортикального кода –