Как в одном шаблоне поменять общий код?

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
255
Благодарностей
39
Баллы
28
Здравствуйте, можно ли в зеннопострере менять общий код в одном шаблоне?

При работе разных кубиков написанных на C#, мне нужно менять общий, вот кусочки которые нужно менять:

1 кусок:
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }


2-й кусок:
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
        
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
Подскажите пожалуйста, как это реализовать?)
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 248
Благодарностей
673
Баллы
113
Здравствуйте, можно ли в зеннопострере менять общий код в одном шаблоне?

При работе разных кубиков написанных на C#, мне нужно менять общий, вот кусочки которые нужно менять:

1 кусок:
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }


2-й кусок:
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
      
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
      
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
Подскажите пожалуйста, как это реализовать?)
C#:
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
       
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
}
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
255
Благодарностей
39
Баллы
28
C#:
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
      
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
      
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }
}
Просто обьеденить все?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 248
Благодарностей
673
Баллы
113
Просто обьеденить все?
Ну тип да, у тебя вот в общем коде есть пространство имен ZennoLab.OwnCode и в него ты уже можешь сколько хочешь своих классов добавлять, Path, CallParams и так далее
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
255
Благодарностей
39
Баллы
28
Ну тип да, у тебя вот в общем коде есть пространство имен ZennoLab.OwnCode и в него ты уже можешь сколько хочешь своих классов добавлять, Path, CallParams и так далее
Я не правильно написал. Классы пересекаются и данные там разные.
Вот одним кодом кидаю 4 разных неймспейс, где классы пересекаются
Коды:
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
        
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

    public class SendFrom
    {
        [Parameter("address", 1)]
        public string From { get; set; }
        
        [Parameter("uint16", 2)]
        public int DstChainId { get; set; }

        [Parameter("bytes32", 3)]
        public byte[] ToAddress { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Amount { get; set; }

        [Parameter("uint256", 5)]
        public BigInteger MinAmount { get; set; }
        
        [Parameter("tuple", 6)]
        public CallParams CallParams { get; set; }
        
    }
    
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }

namespace ZennoLab.OwnCode
{
    
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
    
namespace ZennoLab.OwnCode
{
    
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
        
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
    
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }

        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
    }
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 248
Благодарностей
673
Баллы
113
Я не правильно написал. Классы пересекаются и данные там разные.
Вот одним кодом кидаю 4 разных неймспейс, где классы пересекаются
Коды:
namespace ZennoLab.OwnCode
{
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }
       
        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 3)]
        public byte[] AdapterParams { get; set; }
    }

    public class SendFrom
    {
        [Parameter("address", 1)]
        public string From { get; set; }
       
        [Parameter("uint16", 2)]
        public int DstChainId { get; set; }

        [Parameter("bytes32", 3)]
        public byte[] ToAddress { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Amount { get; set; }

        [Parameter("uint256", 5)]
        public BigInteger MinAmount { get; set; }
       
        [Parameter("tuple", 6)]
        public CallParams CallParams { get; set; }
       
    }
   
namespace ZennoLab.OwnCode
{
    public class Path
    {
        [Parameter("uint256[]", 1)]
        public BigInteger[] PairBinSteps { get; set; }

        [Parameter("uint8[]", 2)]
        public int[] Versions { get; set; }

        [Parameter("address[]", 3)]
        public string[] TokenPath { get; set; }
    }

    public class LBRouter
    {
        [Parameter("uint256", 1)]
        public BigInteger AmountOut { get; set; }

        [Parameter("tuple", 2)]
        public Path Path { get; set; }

        [Parameter("address", 3)]
        public string To { get; set; }

        [Parameter("uint256", 4)]
        public BigInteger Deadline { get; set; }
    }

namespace ZennoLab.OwnCode
{
   
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
   
namespace ZennoLab.OwnCode
{
   
    public class LBRouter
    {
        [Parameter("uint16", 1)]
        public int DstChainId { get; set; }

        [Parameter("bytes", 2)]
        public byte[] To { get; set; }

        [Parameter("uint256", 3)]
        public BigInteger Qty { get; set; }

        [Parameter("address", 4)]
        public string ZroPaymentAddress { get; set; }
       
        [Parameter("bytes", 5)]
        public byte[] AdapterParam { get; set; }
    }
   
    public class CallParams
    {
        [Parameter("address", 1)]
        public string RefundAddress { get; set; }

        [Parameter("address", 2)]
        public string ZroPaymentAddress { get; set; }
    }
Тогда проще изменить пересекающиеся названия классов, либо изменить названия неймспейсов вместо ZennoLab.OwnCode можешь какие угодно писать, вроде он их все видеть будет
 
  • Спасибо
Реакции: S10n4eg

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
255
Благодарностей
39
Баллы
28
Тогда проще изменить пересекающиеся названия классов, либо изменить названия неймспейсов вместо ZennoLab.OwnCode можешь какие угодно писать, вроде он их все видеть будет
Спасибо)
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)