代码之家  ›  专栏  ›  技术社区  ›  Prashant Pimpale Dila Gurung

获取变量的值并在C中指定为属性#

c#
  •  0
  • Prashant Pimpale Dila Gurung  · 技术社区  · 6 年前

    有一个API方法如下所示:

    Task<Response> UpdateImage([AliasAs("banner_image")] StreamPart banner_image=null,[AliasAs("background_image")] StreamPart background_image =null);
    

    但在同一时间只有一个图像将有从前端

    banner_image 然后

    APIHelper.UpdateImage(banner_image: image)
    

    我从一个变量得到属性信息,比如,

    string key = "banner_image";
    

    key 像这样传递,

    APIHelper.UpdateImage(`dynamic_key_extracted_from_key_variable_value`: image)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   nvoigt    6 年前

    你不能。这是一种语言/编译器特性,在运行时不可用。

    (还有一个原因,当你突然通过“xzy”时,它应该如何反应?当你在两周前编译的时候,有没有遇到过一个穿越时空的编译器错误?)

    最简单的解决方法可能是:

    StreamPart banner_image = null;
    StreamPart background_image = null;
    
    if(key == "banner_image")
    {
        banner_image = value;
    }
    
    if(key == "background_image")
    {
        background_image = value;
    }
    
    UpdateImage(banner_image, background_image);