小编Mat*_*yle的帖子

Swagger UI使用ServiceStack显示额外参数

我在使用ServiceStack在swagger中显示正确的音符时遇到问题.

鉴于这种结构:

    [Route("/Widget/{WidgetId}", Summary = "Updates a widget by id", Verbs = "POST",
    Notes = "Updates a widget by id.")]
    public class UpdateReqWidget : IReturnVoid
    {
        [ApiMember(Name = "WidgetId", Description = "The id of widget to delete.")]
        public int WidgetId { get; set; }
    }

    public class WidgetService 
    {
        public void Put(UpdateReqWidget req)
        {
             //do code here
        }
    }
Run Code Online (Sandbox Code Playgroud)

它正在生产: Swagger UI错误

我希望参数列表只有WidgetId,但它显示的是WidgetId和UpdageReqWidget,它是请求的类名.什么想法我做错了什么?

编辑:我正在使用版本3.9.55 ServiceStack和ServiceStack.API.Swagger.我已经更改了模板以更好地满足我们的需求.

servicestack swagger

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

(MyClassName)对象与对象为MyClassName

我想知道为C#转换对象的更好方法是什么:

MyClassName test = (MyClassName)object;

MyClassName test = object as MyClassName;
Run Code Online (Sandbox Code Playgroud)

我已经知道如果你做第一种方式,你得到一个例外,第二种方式它将test设置为null.但是,我想知道为什么一个在另一个?我看到第一种方式很多,但我喜欢第二种方式,因为那时我可以检查空...

如果没有"更好的方法",那么使用这种或那种方式的准则是什么?

.net c#

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

a = b = c编码标准

我负责在组织内创建编码标准和进行代码审查.

我在源代码中遇到了这样的东西:

object.Property = myVar1 = myVar2;
Run Code Online (Sandbox Code Playgroud)

我个人并不是这样做的,因为我发现它令人困惑.我看到这个,我想这样读:

object.Property = myVar1 == myVar2;
Run Code Online (Sandbox Code Playgroud)

现在我知道它在做什么:它将myVar分配给myVar2,然后将object.Property分配给myVar2.编码标准文档没有明确说明您是否可以这样做.但它确实声明不在if语句中分配变量.

我想我的问题是,作为一种编码实践而不是这样做的风格是不是很糟糕?我不喜欢制定代码标准政策"仅仅因为我这么说"

编辑以更好地解释我的理解

c# coding-style

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

流畅的nhibernate没有在函数上正确生成模式

我有一种有趣的感觉,这只是我对nHibernate和Fluent nHibernate的理解.

我有一个小型控制台应用程序,它根据一堆实体类导出一个模式.一切都很好,直到我这样做:

    public virtual int UserId { get; set; }
    public virtual string FirstName { get; set; }
    public virtual string LastName { get; set; }
    public virtual string Email { get; set; }
    public virtual UserType UserType { get; set; }
    public virtual Client Client { get; set; }
    public virtual string UniqueIdentifier { get; set; }

    public virtual IList<UserAttribute> UserAttributes { get; set; }

    /** CODE IN QUESTION **/
    public virtual string GetAttributeValue(string name)
    {
        var value …
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate

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