小编jon*_*ine的帖子

如何使用Roslyn获取编译时间常量值

我有一些示例代码,简化了我想要完成的想法.

OptionAtrribute.cs

using System;
public class OptionAttribute : Attribute
{
    public OptionAttribute(string option)
    {
        this.PickedOption = option;
    }

    public string PickedOption { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

Options.cs

using System;
public class Options
{
    public const string Cat = "CT";
    public const string Dog = "DG";
    public const string Monkey = "MNKY";
}
Run Code Online (Sandbox Code Playgroud)

SomeClass.cs

using System;
[Option(Options.Dog)]
public class SomeClass
{

}
Run Code Online (Sandbox Code Playgroud)

如何在"SomeClass"类中获取"OptionAttribute"并获得"PickedOption"值?

更新

我不是在问如何使用反射.这是用于在保存代码的文件时生成代码.我此时没有更新的dll因此反射不起作用我试图使用Roslyn来解析实际文件.以下是我的尝试

string solutionPath = @"C:\Project\Project.sln";
var msWorkspace = MSBuildWorkspace.Create();

var solution = await msWorkspace.OpenSolutionAsync(solutionPath);
var project …
Run Code Online (Sandbox Code Playgroud)

c# roslyn roslyn-code-analysis

6
推荐指数
2
解决办法
1890
查看次数

Json.Net - 显式包含一个私有属性

我有一个对象(ViewModel),其中我有一个私有属性,其中包含有关模型的一些元数据。我想在对象的序列化/反序列化中明确包含这个私有属性。

是否有可以添加到属性的 Json.Net 属性?

public class Customer
{

    private string TimeStamp { get; set; }

    public Guid CustomerId { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string Name
    {
        get
        {
            return FirstName + " " + LastName;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

“TimeStamp”属性的值在服务返回之前被注入到类中。

我希望这个属性在 json.net 序列化/反序列化过程中继续存在,以便它可以返回到服务。

json.net

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

标签 统计

c# ×1

json.net ×1

roslyn ×1

roslyn-code-analysis ×1