小编Igo*_*ros的帖子

Json转换空字符串而不是null

我正在尝试序列化我的结构,以便没有获得值的字符串获取其默认值""而不是null

[JsonProperty(PropertyName = "myProperty", DefaultValueHandling = DefaultValueHandling.Populate)]
[DefaultValue("")]
public string MyProperty{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我在Json字符串中的结果:

"myProperty": null,
Run Code Online (Sandbox Code Playgroud)

我想要的是

"myProperty": "",
Run Code Online (Sandbox Code Playgroud)

我也试过创建一个没有任何影响的转换器,因为某种原因,转换和WriteJson函数甚至都没有触发:

[JsonProperty(PropertyName = "myProperty")]
[JsonConverter(typeof(NullToEmptyStringConverter))]
public string MyProperty{ get; set; }

class NullToEmptyStringConverter : JsonConverter
{
    public override bool CanConvert(Type objectType)
    {
        return objectType == typeof(object[]);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        throw new NotImplementedException();
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        if (value == null)
            writer.WriteValue("");
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# string null json

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

隐藏空上下文菜单

我在wp7中有一个上下文菜单

<toolkit:ContextMenuService.ContextMenu>
    <toolkit:ContextMenu x:Name="onHoldContextMenu">
        <toolkit:MenuItem Header="Delete" Tag="{Binding}" Click="DeleteVisitorNote_Click" Visibility="{Binding DeleteContextVisibility, Converter={StaticResource BooleanToVisibilityConverter}}"/>
        <toolkit:MenuItem Header="View" Tag="{Binding}" Visibility="{Binding ViewContextVisibility, Converter={StaticResource BooleanToVisibilityConverter}}" Click="ViewVisitorContact_Click"/>
    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
Run Code Online (Sandbox Code Playgroud)

我正在改变视图模型中两个项目的可见性,它工作正常.我的问题是,当我将两个项目的可见性设置为false时,当我打开上下文菜单时,我有一个空的白线,我不知道如何隐藏...我试过:

<toolkit:ContextMenuService.ContextMenu>
    <toolkit:ContextMenu x:Name="onHoldContextMenu"  Visibility="{Binding ContextVisibility, Converter={StaticResource BooleanToVisibilityConverter}}">
        <toolkit:MenuItem Header="Delete" Tag="{Binding}" Click="DeleteVisitorNote_Click" Visibility="{Binding DeleteContextVisibility, Converter={StaticResource BooleanToVisibilityConverter}}"/>
        <toolkit:MenuItem Header="View" Tag="{Binding}" Visibility="{Binding ViewContextVisibility, Converter={StaticResource BooleanToVisibilityConverter}}" Click="ViewVisitorContact_Click"/>
    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我得到一个nullrefference异常...

如何在空白时隐藏上下文菜单?

visibility contextmenu nullreferenceexception windows-phone-7

3
推荐指数
1
解决办法
1295
查看次数

Unity3D 获取动画控制器当前动画时间

大家好,我正在尝试构建一个应用程序并尝试在滚动条上做事。

我在 Unity 的 Animator Controller 中有 3 个不同的层,所有权重为 1。在具有加载动画的第一层和具有滚动动画的第 2 层中,需要在第 1 层动画的顶部播放用它。

因此,为了在滚动上调用动画,我编写了一个程序,该程序在滚动的基础上调用动画,因此第 2 层“take001”上的动画在滚动上播放取决于发生了多少滚动。

现在我想获取第 2 层动画的当前时间。

找到下面的代码和我在Unity中创建的图层的截图:

[参考图片]:https : //imgur.com/j4Up4OE

using UnityEngine;
using System.Collections;
public class MouseMovementScript : MonoBehaviour {
Animator anim;
AnimatorStateInfo stateInfo;
AnimatorClipInfo[] myAnimatorClip;
double speedBase = 1;
void Start () {
     anim = GetComponent<Animator>();
     stateInfo = anim.GetCurrentAnimatorStateInfo(1);
    //Output the name of the starting clip

}

// Update is called once per frame
void Update () {

    var d = Input.GetAxis("Mouse ScrollWheel");

    if …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

3
推荐指数
1
解决办法
7776
查看次数

简单的推特应用

我试图用一种简单的方法将推文发布到推特上,仅此而已.我找不到一个体面的教程或与此相关的文档...它有10个库,无法弄清楚如何使用它们,甚至不想打扰它说实话我JUST WANNA POST ...这就是我的目标,但仍然无法正常工作:

    private void TweetBtn_Click(object sender, RoutedEventArgs e)
    {

        // Create a webclient with the twitter account credentials,which will be used to set the HTTP header or basic authentication
        client = new WebClient { Credentials = new NetworkCredential { UserName = usernameTxtBox.Text, Password = password.Password } };
        // Don't wait to receive a 100 Continue HTTP response from the server before sending out the message body
        //ServicePointManager.Expect100Continue = false;
        // Construct the message body
        byte[] messageBody = Encoding.UTF8.GetBytes("status=" …
Run Code Online (Sandbox Code Playgroud)

twitter windows-phone-7

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