Вызов функции с неявным преобразованием типовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Вызов функции с неявным преобразованием типов

Сообщение Anonymous »

У меня есть такой класс.

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

public class ForeignKey {
public string Id {get;}
public TableA TableA {get;}
public TableB TableB {get;}
public static implicit operator string(ForeignKey obj){ return obj.Id; }
public override string ToString() { return Id; }
/* various operator overloads */
}
Я хотел бы иметь автоматическое преобразование типов, чтобы его можно было использовать как строку. То, что я сделал до сих пор, позволяет мне использовать его во многих местах без явного приведения типов. Однако я не могу придумать, как вызывать строковые функции без явного приведения типов.

Например, мне хотелось бы, чтобы это работало.

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

if (Key.EndsWith(someValue))
Сейчас мне нужно это сделать

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

if (((string)Key).EndsWith(someValue))
// or
if (Key.Id.EndsWith(someValue))
Есть ли способ заставить его работать так, как я хочу?

Спасибо

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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