IN
Size: a a a
IN
IN
IN
IN
IN
IN
AK
IN
IN
IN
V
rr
AK
VL
public sealed partial record ApiResponse<TResult>Мне нужно через source generators повесить каждому свойству атрибут, для этого генерируется автоматически вторая часть partial класса и применяется MetadataTypeAttribute:
{
public bool Ok { get; init; }
public TResult Result { get; init; }
public string Description { get; init; }
public int ErrorCode { get; init; }
public ResponseParameters Parameters { get; init; }
}
[MetadataType(typeof(ApiResponseMetadata))]Всё бы хорошо, но тут есть TResult, который неизвестен.
partial record ApiResponse<TResult>
{
}
internal sealed class ApiResponseMetadata
{
[JsonPropertyName("ok")]
public bool Ok { get; init; }
[JsonPropertyName("result")]
public TResult Result { get; init; }
[JsonPropertyName("description")]
public string Description { get; init; }
[JsonPropertyName("error_code")]
public int ErrorCode { get; init; }
[JsonPropertyName("parameters")]
public global::Telegram.Bot.Types.ResponseParameters Parameters { get; init; }
}
class ApiResponseMetadata<TResult>
использовать невозможноVL
VL
public interface IAutoGeneratedApiResponse<TResult>
{
[JsonPropertyName("ok")]
bool Ok { get; }
[JsonPropertyName("result")]
TResult Result { get; }
[JsonPropertyName("description")]
string Description { get; }
[JsonPropertyName("error_code")]
int ErrorCode { get; }
[JsonPropertyName("parameters")]
global::Telegram.Bot.Types.ResponseParameters Parameters { get; }
}
Я
Я
Dm