Как использовать генераторы исходного кода из CommunityToolkit.Mvvm для приложения .NET Framework 4.7.2 WPFC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать генераторы исходного кода из CommunityToolkit.Mvvm для приложения .NET Framework 4.7.2 WPF

Сообщение Anonymous »

Недавно я тестировал библиотеку пользовательского интерфейса WPF (https://wpfui.lepo.co/). Я создал образец проекта, ориентированный на .NET 6.0. Пример проекта содержал несколько базовых моделей и моделей представления, и в этих файлах я обнаружил свойства, объявленные с использованием атрибута [ObservableProperty]. Мне очень понравилось, как это уменьшило объем кода, необходимого для простых свойств, поэтому я хотел использовать это для существующего проекта, ориентированного на .NET Framework 4.7.2.
Но я не хочу знаю как и возможно ли это вообще. Существующая информация, которую я нахожу в Интернете, очень запутанна, но принятый ответ на этот вопрос звучит так, как будто это возможно: Roslyn Source Generator не генерирует никаких источников в .net framework 4.7.2
I попробовал следующее, но приложение не собирается:

Код: Выделить всё

using CommunityToolkit.Mvvm.ComponentModel;

namespace MatlogUtility
{
public partial class HeatListEntry : ObservableObject
{
[ObservableProperty]
private int? heatListId;

}
}

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Threading.Tasks;
using System.Windows;
using MatlogUtility.Models;

namespace MatlogUtility
{
public static class SqlQueries
{
public static List GetHeatList()
{
List heatList = new List();

string queryString = "SELECT a as heatListId FROM someTable;";

using (SqlConnection connection = new SqlConnection(Globals.ConnectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
var reader = command.ExecuteReader();
try
{
while (reader.Read())
{
heatList.Add(new HeatListEntry
{
HeatListId = reader["heatListId"] == DBNull.Value ? null : (int?)reader["heatListId"]
});
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}

return heatList;
}
}
}
Список ошибок показывает, что «HeatListEntry» не содержит определения HeatListId».
Я также пробовал установить несколько NuGet -пакеты, связанные с Roslyn, например Microsoft.CodeAnaанализ.CSharp и Microsoft.CSharp, но они по-прежнему не работают.
Возможно ли вообще то, что я пытаюсь сделать? Заранее спасибо, любые подсказки приветствуются!

Подробнее здесь: https://stackoverflow.com/questions/738 ... -framework
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • CommunityToolKit.Mvvm 8.4.0 и предупреждение MVVM Toolkit MVVMTK0045
    Anonymous » » в форуме C#
    0 Ответы
    68 Просмотры
    Последнее сообщение Anonymous
  • CommunityToolkit.mvvm 8.4.0 и MVVM Toolkit Warning Mvvmtk0045
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Генераторы исходного кода C#: генерируйте другой код для вызовов одного и того же метода.
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Генераторы исходного кода C#: можно ли перенаправить навигацию в IDE в источник?
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Является ли .net Maui Communitytoolkit.mvvm icommand плохая практика в ViewModel в .net maui? [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»